%%
%% %CopyrightBegin%
%%
%% Copyright Ericsson AB 2008-2017. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
%% You may obtain a copy of the License at
%%
%%     http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing, software
%% distributed under the License is distributed on an "AS IS" BASIS,
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
%% See the License for the specific language governing permissions and
%% limitations under the License.
%%
%% %CopyrightEnd%
%%
-module(re_testoutput1_replacement_test).
-export([run/0]).
-compile(no_native).
%% This file is generated by running run_pcre_tests:gen_repl_test("re_SUITE_data/testoutput1")
run() ->
    run0(),
    run1(),
    run2(),
    run3(),
    run4(),
    run5(),
    run6(),
    run7(),
    run8(),
    run9(),
    run10(),
    run11(),
    run12(),
    run13(),
    run14(),
    run15(),
    run16(),
    run17(),
    run18(),
    run19(),
    run20(),
    run21(),
    run22(),
    run23(),
    run24(),
    run25(),
    run26(),
    run27(),
    run28(),
    run29(),
    run30(),
    run31(),
    run32(),
    run33(),
    run34(),
    run35(),
    run36(),
    run37(),
    run38(),
    run39(),
    run40(),
    run41(),
    run42(),
    run43(),
    run44(),
    run45(),
    run46(),
    run47(),
    run48(),
    run49(),
    run50(),
    run51(),
    run52(),
    run53(),
    run54(),
    run55(),
    run56(),
    ok.
run0() ->
    <<"SSxHvfHfMHTdP">> = iolist_to_binary(re:replace("the quick brown fox","the quick brown fox","SSx\\1HvfHfMHTdP",[])), 
    <<"SSxHvfHfMHTdP">> = iolist_to_binary(re:replace("the quick brown fox","the quick brown fox","SSx\\1HvfHfMHTdP",[global])), 
    <<"The quick brown FOX">> = iolist_to_binary(re:replace("The quick brown FOX","the quick brown fox","sSrOvIDlw&sr",[])), 
    <<"The quick brown FOX">> = iolist_to_binary(re:replace("The quick brown FOX","the quick brown fox","sSrOvIDlw&sr",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"x">> = iolist_to_binary(re:replace("the quick brown fox","The quick brown fox","x",[caseless])), 
    <<"x">> = iolist_to_binary(re:replace("the quick brown fox","The quick brown fox","x",[caseless,
                                                                                                                                                                                                                       global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                          global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                         global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                            global])), 
    <<"LhLxqabcd	

9;$\\?caxyzBxFJ">> = iolist_to_binary(re:replace("abcd	

9;$\\?caxyz","abcd\\t\\n\\r\\f\\a\\e\\071\\x3b\\$\\\\\\?caxyz","LhLxq&\\1Bx\\1FJ",[])), 
    <<"LhLxqabcd	

9;$\\?caxyzBxFJ">> = iolist_to_binary(re:replace("abcd	

9;$\\?caxyz","abcd\\t\\n\\r\\f\\a\\e\\071\\x3b\\$\\\\\\?caxyz","LhLxq&\\1Bx\\1FJ",[global])), 
    <<"wqqHkXDku">> = iolist_to_binary(re:replace("abxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","wqqHkXDku",[])), 
    <<"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])), 
    <<"jL">> = iolist_to_binary(re:replace("abxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","jL",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"PPkDpiQNRoIwOISn">> = iolist_to_binary(re:replace("aaaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","PPkDpiQNRoIwOISn",[])), 
    <<"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])), 
    <<"WA">> = iolist_to_binary(re:replace("abcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","WA",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"aaabcxyzpqrrrabbxyyyypqqAzzYVt">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&YVt",[])), 
    <<"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])), 
    <<"gMA">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","gMA",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"l">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","l",[])), 
    <<"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])), 
    <<"i">> = iolist_to_binary(re:replace("aaaabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","i",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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&",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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&",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<">>>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",[])), 
    <<">>>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])), 
    <<">P">> = iolist_to_binary(re:replace(">aaaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","P",[])), 
    <<">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])), 
    <<">>>>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",[])), 
    <<">>>>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])), 
    <<"*** 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",[])), 
    <<"*** 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])), 
    <<"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",[])), 
    <<"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])), 
    <<"abxyzpqrrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","DyO",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"aaaabcxyzzzzpqrrrabbbxyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","uX",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"AabczzNnWikVeHlabcthmw">> = iolist_to_binary(re:replace("abczz","^(abc){1,2}zz","A&NnWikVeHl\\1thmw",[])), 
    <<"AabczzNnWikVeHlabcthmw">> = iolist_to_binary(re:replace("abczz","^(abc){1,2}zz","A&NnWikVeHl\\1thmw",[global])), 
    <<"ljC">> = iolist_to_binary(re:replace("abcabczz","^(abc){1,2}zz","ljC",[])), 
    <<"ljC">> = iolist_to_binary(re:replace("abcabczz","^(abc){1,2}zz","ljC",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(abc){1,2}zz","H&dW",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(abc){1,2}zz","H&dW",[global])), 
    <<"zz">> = iolist_to_binary(re:replace("zz","^(abc){1,2}zz","NaUG",[])), 
    <<"zz">> = iolist_to_binary(re:replace("zz","^(abc){1,2}zz","NaUG",[global])), 
    <<"abcabcabczz">> = iolist_to_binary(re:replace("abcabcabczz","^(abc){1,2}zz","jed",[])), 
    <<"abcabcabczz">> = iolist_to_binary(re:replace("abcabcabczz","^(abc){1,2}zz","jed",[global])), 
    <<">>abczz">> = iolist_to_binary(re:replace(">>abczz","^(abc){1,2}zz","IfDMCUaBC\\1UiUD",[])), 
    <<">>abczz">> = iolist_to_binary(re:replace(">>abczz","^(abc){1,2}zz","IfDMCUaBC\\1UiUD",[global])), 
    <<"bcaiQbcWXgAtsqFbbcb">> = iolist_to_binary(re:replace("bc","^(b+?|a){1,2}?c","&aiQ&WXgAtsqF\\1&b",[])), 
    <<"bcaiQbcWXgAtsqFbbcb">> = iolist_to_binary(re:replace("bc","^(b+?|a){1,2}?c","&aiQ&WXgAtsqF\\1&b",[global])), 
    <<"SOnbIUtbbcSM">> = iolist_to_binary(re:replace("bbc","^(b+?|a){1,2}?c","SOn\\1IUt&SM",[])), 
    <<"SOnbIUtbbcSM">> = iolist_to_binary(re:replace("bbc","^(b+?|a){1,2}?c","SOn\\1IUt&SM",[global])), 
    <<"Obrubbk">> = iolist_to_binary(re:replace("bbbc","^(b+?|a){1,2}?c","Obru\\1k",[])), 
    <<"Obrubbk">> = iolist_to_binary(re:replace("bbbc","^(b+?|a){1,2}?c","Obru\\1k",[global])), 
    <<"YJSoHCQdPaswf">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","YJSoHCQdP\\1swf",[])), 
    <<"YJSoHCQdPaswf">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","YJSoHCQdP\\1swf",[global])), 
    <<"bbacc">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","&c",[])), 
    <<"bbacc">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","&c",[global])), 
    <<"jcBr">> = iolist_to_binary(re:replace("aac","^(b+?|a){1,2}?c","jcBr",[])), 
    <<"jcBr">> = iolist_to_binary(re:replace("aac","^(b+?|a){1,2}?c","jcBr",[global])), 
    <<"ubbbbbbbbbbboLR">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+?|a){1,2}?c","u\\1oLR",[])), 
    <<"ubbbbbbbbbbboLR">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+?|a){1,2}?c","u\\1oLR",[global])), 
    <<"qVSagCR">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+?|a){1,2}?c","qVS\\1gCR",[])), 
    <<"qVSagCR">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+?|a){1,2}?c","qVS\\1gCR",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+?|a){1,2}?c","e&&lu\\1vX&EjbrQGRD&lv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+?|a){1,2}?c","e&&lu\\1vX&EjbrQGRD&lv",[global])), 
    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+?|a){1,2}?c","&ofSdXa",[])), 
    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+?|a){1,2}?c","&ofSdXa",[global])), 
    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+?|a){1,2}?c","yeCWNqemq",[])), 
    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+?|a){1,2}?c","yeCWNqemq",[global])), 
    <<"HvbccsbJrdMbc">> = iolist_to_binary(re:replace("bc","^(b+|a){1,2}c","Hv&cs\\1JrdM&",[])), 
    <<"HvbccsbJrdMbc">> = iolist_to_binary(re:replace("bc","^(b+|a){1,2}c","Hv&cs\\1JrdM&",[global])), 
    <<"qRubbcFTMebbWdERwX">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}c","qRu&FTMe\\1WdERwX",[])), 
    <<"qRubbcFTMebbWdERwX">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}c","qRu&FTMe\\1WdERwX",[global])), 
    <<"bbbcdbbbbcbbbWigSlFD">> = iolist_to_binary(re:replace("bbbc","^(b+|a){1,2}c","&db&\\1WigSlFD",[])), 
    <<"bbbcdbbbbcbbbWigSlFD">> = iolist_to_binary(re:replace("bbbc","^(b+|a){1,2}c","&db&\\1WigSlFD",[global])), 
    <<"jaGWX">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}c","j\\1GWX",[])), 
    <<"jaGWX">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}c","j\\1GWX",[global])), 
    <<"tRXTQuVicYa">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}c","tRXTQuVicY\\1",[])), 
    <<"tRXTQuVicYa">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}c","tRXTQuVicY\\1",[global])), 
    <<"aaacWSaacSaacauTERLsT">> = iolist_to_binary(re:replace("aac","^(b+|a){1,2}c","\\1&WS&S&\\1uTERLsT",[])), 
    <<"aaacWSaacSaacauTERLsT">> = iolist_to_binary(re:replace("aac","^(b+|a){1,2}c","\\1&WS&S&\\1uTERLsT",[global])), 
    <<"DBabbbbbbbbbbbcabbbbbbbbbbbcKcnVC">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+|a){1,2}c","DB&&KcnVC",[])), 
    <<"DBabbbbbbbbbbbcabbbbbbbbbbbcKcnVC">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+|a){1,2}c","DB&&KcnVC",[global])), 
    <<"EeIDBbbbbbbbbbbbaciagibbbbbbbbbbbacaa">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+|a){1,2}c","EeIDB&i\\1gi&\\1\\1",[])), 
    <<"EeIDBbbbbbbbbbbbaciagibbbbbbbbbbbacaa">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+|a){1,2}c","EeIDB&i\\1gi&\\1\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+|a){1,2}c","a&o&Hxqiw&jogpDTgJ",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+|a){1,2}c","a&o&Hxqiw&jogpDTgJ",[global])), 
    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+|a){1,2}c","&G&\\1h\\1wNk&Ywpciljc",[])), 
    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+|a){1,2}c","&G&\\1h\\1wNk&Ywpciljc",[global])), 
    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+|a){1,2}c","HEjJIPg\\1n\\1&kTh",[])), 
    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+|a){1,2}c","HEjJIPg\\1n\\1&kTh",[global])), 
    <<"bbcP">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}?bc","&P",[])), 
    <<"bbcP">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}?bc","&P",[global])), 
    <<"kGDMabaIlbabcKSq">> = iolist_to_binary(re:replace("babc","^(b*|ba){1,2}?bc","kGDMa\\1Il&KSq",[])), 
    <<"kGDMabaIlbabcKSq">> = iolist_to_binary(re:replace("babc","^(b*|ba){1,2}?bc","kGDMa\\1Il&KSq",[global])), 
    <<"babayLobbabcOLYmIGfTNbbabci">> = iolist_to_binary(re:replace("bbabc","^(b*|ba){1,2}?bc","\\1\\1yLo&OLYmIGfTN&i",[])), 
    <<"babayLobbabcOLYmIGfTNbbabci">> = iolist_to_binary(re:replace("bbabc","^(b*|ba){1,2}?bc","\\1\\1yLo&OLYmIGfTN&i",[global])), 
    <<"pMjVc">> = iolist_to_binary(re:replace("bababc","^(b*|ba){1,2}?bc","pMjVc",[])), 
    <<"pMjVc">> = iolist_to_binary(re:replace("bababc","^(b*|ba){1,2}?bc","pMjVc",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b*|ba){1,2}?bc","wT",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b*|ba){1,2}?bc","wT",[global])), 
    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(b*|ba){1,2}?bc","g&dFfWePhsR&XN\\1Vq",[])), 
    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(b*|ba){1,2}?bc","g&dFfWePhsR&XN\\1Vq",[global])), 
    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(b*|ba){1,2}?bc","\\1",[])), 
    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(b*|ba){1,2}?bc","\\1",[global])), 
    <<"HQbatSN">> = iolist_to_binary(re:replace("babc","^(ba|b*){1,2}?bc","HQ\\1tSN",[])), 
    <<"HQbatSN">> = iolist_to_binary(re:replace("babc","^(ba|b*){1,2}?bc","HQ\\1tSN",[global])), 
    <<"Wba">> = iolist_to_binary(re:replace("bbabc","^(ba|b*){1,2}?bc","W\\1",[])), 
    <<"Wba">> = iolist_to_binary(re:replace("bbabc","^(ba|b*){1,2}?bc","W\\1",[global])), 
    <<"NsH">> = iolist_to_binary(re:replace("bababc","^(ba|b*){1,2}?bc","NsH",[])), 
    <<"NsH">> = iolist_to_binary(re:replace("bababc","^(ba|b*){1,2}?bc","NsH",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ba|b*){1,2}?bc","n\\1QUxH&c\\1vARRpu\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ba|b*){1,2}?bc","n\\1QUxH&c\\1vARRpu\\1",[global])), 
    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(ba|b*){1,2}?bc","X&pfoImgghpuaCj\\1h\\1T&",[])), 
    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(ba|b*){1,2}?bc","X&pfoImgghpuaCj\\1h\\1T&",[global])), 
    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(ba|b*){1,2}?bc","O\\1dyBuNmjs&QHb&",[])), 
    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(ba|b*){1,2}?bc","O\\1dyBuNmjs&QHb&",[global])), 
    <<"MjwccSIya;z;zXkruR">> = iolist_to_binary(re:replace(";z","^\\ca\\cA\\c[;\\c:","MjwccSIy\\1a&&XkruR",[])), 
    <<"MjwccSIya;z;zXkruR">> = iolist_to_binary(re:replace(";z","^\\ca\\cA\\c[;\\c:","MjwccSIy\\1a&&XkruR",[global])), 
    <<"KmseihnaDthing">> = iolist_to_binary(re:replace("athing","^[ab\\]cde]","Kms\\1eihn&D",[])), 
    <<"KmseihnaDthing">> = iolist_to_binary(re:replace("athing","^[ab\\]cde]","Kms\\1eihn&D",[global])), 
    <<"VtYything">> = iolist_to_binary(re:replace("bthing","^[ab\\]cde]","V\\1\\1tYy\\1",[])), 
    <<"VtYything">> = iolist_to_binary(re:replace("bthing","^[ab\\]cde]","V\\1\\1tYy\\1",[global])), 
    <<"BUicE]cTfPthing">> = iolist_to_binary(re:replace("]thing","^[ab\\]cde]","B\\1UicE\\1&cTfP",[])), 
    <<"BUicE]cTfPthing">> = iolist_to_binary(re:replace("]thing","^[ab\\]cde]","B\\1UicE\\1&cTfP",[global])), 
    <<"Jthing">> = iolist_to_binary(re:replace("cthing","^[ab\\]cde]","J",[])), 
    <<"Jthing">> = iolist_to_binary(re:replace("cthing","^[ab\\]cde]","J",[global])), 
    <<"ecfIHwcPLwCQVmthing">> = iolist_to_binary(re:replace("dthing","^[ab\\]cde]","ecfIHwcPLwCQVm",[])), 
    <<"ecfIHwcPLwCQVmthing">> = iolist_to_binary(re:replace("dthing","^[ab\\]cde]","ecfIHwcPLwCQVm",[global])), 
    <<"jthing">> = iolist_to_binary(re:replace("ething","^[ab\\]cde]","j\\1",[])), 
    <<"jthing">> = iolist_to_binary(re:replace("ething","^[ab\\]cde]","j\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[ab\\]cde]","XitEhS",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[ab\\]cde]","XitEhS",[global])), 
    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[ab\\]cde]","jftUvqtHSk&",[])), 
    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[ab\\]cde]","jftUvqtHSk&",[global])), 
    <<"[thing">> = iolist_to_binary(re:replace("[thing","^[ab\\]cde]","BVEV&n",[])), 
    <<"[thing">> = iolist_to_binary(re:replace("[thing","^[ab\\]cde]","BVEV&n",[global])), 
    <<"\\thing">> = iolist_to_binary(re:replace("\\thing","^[ab\\]cde]","&",[])), 
    <<"\\thing">> = iolist_to_binary(re:replace("\\thing","^[ab\\]cde]","&",[global])), 
    <<"CLkR]]rBddXHyi]Hrjthing">> = iolist_to_binary(re:replace("]thing","^[]cde]","CLkR&&rBddXHyi&H\\1\\1rj",[])), 
    <<"CLkR]]rBddXHyi]Hrjthing">> = iolist_to_binary(re:replace("]thing","^[]cde]","CLkR&&rBddXHyi&H\\1\\1rj",[global])), 
    <<"sHqJwDKDjCAxIofXvVthing">> = iolist_to_binary(re:replace("cthing","^[]cde]","s\\1HqJwD\\1KDjCAxIofXvV",[])), 
    <<"sHqJwDKDjCAxIofXvVthing">> = iolist_to_binary(re:replace("cthing","^[]cde]","s\\1HqJwD\\1KDjCAxIofXvV",[global])), 
    <<"hcfONJPTXdthing">> = iolist_to_binary(re:replace("dthing","^[]cde]","hcfONJPTX&",[])), 
    <<"hcfONJPTXdthing">> = iolist_to_binary(re:replace("dthing","^[]cde]","hcfONJPTX&",[global])), 
    <<"eEbyOxFupOoOReKucqkthing">> = iolist_to_binary(re:replace("ething","^[]cde]","&EbyOxFupOoO\\1R&Kucqk",[])), 
    <<"eEbyOxFupOoOReKucqkthing">> = iolist_to_binary(re:replace("ething","^[]cde]","&EbyOxFupOoO\\1R&Kucqk",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[]cde]","ViA&j\\1r&&eE",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[]cde]","ViA&j\\1r&&eE",[global])), 
    <<"athing">> = iolist_to_binary(re:replace("athing","^[]cde]","l\\1m",[])), 
    <<"athing">> = iolist_to_binary(re:replace("athing","^[]cde]","l\\1m",[global])), 
    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[]cde]","&X",[])), 
    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[]cde]","&X",[global])), 
    <<"iexifgnSthing">> = iolist_to_binary(re:replace("fthing","^[^ab\\]cde]","iexi&gnS",[])), 
    <<"iexifgnSthing">> = iolist_to_binary(re:replace("fthing","^[^ab\\]cde]","iexi&gnS",[global])), 
    <<"KbDPthing">> = iolist_to_binary(re:replace("[thing","^[^ab\\]cde]","Kb\\1DP",[])), 
    <<"KbDPthing">> = iolist_to_binary(re:replace("[thing","^[^ab\\]cde]","Kb\\1DP",[global])), 
    <<"qsMjdRastMthing">> = iolist_to_binary(re:replace("\\thing","^[^ab\\]cde]","qsMjd\\1RastM",[])), 
    <<"qsMjdRastMthing">> = iolist_to_binary(re:replace("\\thing","^[^ab\\]cde]","qsMjd\\1RastM",[global])), 
    <<"OMrBm** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^ab\\]cde]","OMrBm",[])), 
    <<"OMrBm** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^ab\\]cde]","OMrBm",[global])), 
    <<"athing">> = iolist_to_binary(re:replace("athing","^[^ab\\]cde]","blc",[])), 
    <<"athing">> = iolist_to_binary(re:replace("athing","^[^ab\\]cde]","blc",[global])), 
    <<"bthing">> = iolist_to_binary(re:replace("bthing","^[^ab\\]cde]","rkdVhImX&Sci\\1srkpB",[])), 
    <<"bthing">> = iolist_to_binary(re:replace("bthing","^[^ab\\]cde]","rkdVhImX&Sci\\1srkpB",[global])), 
    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^ab\\]cde]","R",[])), 
    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^ab\\]cde]","R",[global])), 
    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^ab\\]cde]","MTBI&N\\1Hu&G&vMV&",[])), 
    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^ab\\]cde]","MTBI&N\\1Hu&G&vMV&",[global])), 
    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^ab\\]cde]","L&iy\\1&&rL",[])), 
    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^ab\\]cde]","L&iy\\1&&rL",[global])), 
    <<"ething">> = iolist_to_binary(re:replace("ething","^[^ab\\]cde]","fAG\\1TYq\\1LAa\\1amIUKu",[])), 
    <<"ething">> = iolist_to_binary(re:replace("ething","^[^ab\\]cde]","fAG\\1TYq\\1LAa\\1amIUKu",[global])), 
    <<"gathing">> = iolist_to_binary(re:replace("athing","^[^]cde]","\\1\\1g&\\1",[])), 
    <<"gathing">> = iolist_to_binary(re:replace("athing","^[^]cde]","\\1\\1g&\\1",[global])), 
    <<"XGfAfLNiMaKLathing">> = iolist_to_binary(re:replace("fthing","^[^]cde]","XG&A&LNiMa\\1KLa",[])), 
    <<"XGfAfLNiMaKLathing">> = iolist_to_binary(re:replace("fthing","^[^]cde]","XG&A&LNiMa\\1KLa",[global])), 
    <<"pCXwvleUk*NHE*wG*wiU** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^]cde]","pCXwvleUk&NHE&wG&wiU",[])), 
    <<"pCXwvleUk*NHE*wG*wiU** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^]cde]","pCXwvleUk&NHE&wG&wiU",[global])), 
    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^]cde]","D\\1mYIuXYOFQyO&Yx&",[])), 
    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^]cde]","D\\1mYIuXYOFQyO&Yx&",[global])), 
    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^]cde]","iJI\\1fdd&",[])), 
    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^]cde]","iJI\\1fdd&",[global])), 
    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^]cde]","BqndYPF\\1lxs\\1\\1hPxSdgK",[])), 
    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^]cde]","BqndYPF\\1lxs\\1\\1hPxSdgK",[global])), 
    <<"ething">> = iolist_to_binary(re:replace("ething","^[^]cde]","E",[])), 
    <<"ething">> = iolist_to_binary(re:replace("ething","^[^]cde]","E",[global])), 
    <<"0AMd">> = iolist_to_binary(re:replace("0","^[0-9]+$","&AM\\1\\1d",[])), 
    <<"0AMd">> = iolist_to_binary(re:replace("0","^[0-9]+$","&AM\\1\\1d",[global])), 
    <<"LUfQMm1n">> = iolist_to_binary(re:replace("1","^[0-9]+$","L\\1\\1Uf\\1Q\\1Mm&n",[])), 
    <<"LUfQMm1n">> = iolist_to_binary(re:replace("1","^[0-9]+$","L\\1\\1Uf\\1Q\\1Mm&n",[global])), 
    <<"yty2aJl22M">> = iolist_to_binary(re:replace("2","^[0-9]+$","yty\\1&aJl&\\1&M",[])), 
    <<"yty2aJl22M">> = iolist_to_binary(re:replace("2","^[0-9]+$","yty\\1&aJl&\\1&M",[global])), 
    <<"eX3">> = iolist_to_binary(re:replace("3","^[0-9]+$","eX&",[])), 
    <<"eX3">> = iolist_to_binary(re:replace("3","^[0-9]+$","eX&",[global])), 
    <<"ypukToFRSissUH">> = iolist_to_binary(re:replace("4","^[0-9]+$","ypukToFRSissUH",[])), 
    <<"ypukToFRSissUH">> = iolist_to_binary(re:replace("4","^[0-9]+$","ypukToFRSissUH",[global])), 
    <<"e55dU5aoURF5N">> = iolist_to_binary(re:replace("5","^[0-9]+$","e&&dU&a\\1oURF&N",[])), 
    <<"e55dU5aoURF5N">> = iolist_to_binary(re:replace("5","^[0-9]+$","e&&dU&a\\1oURF&N",[global])), 
    <<"nrnSg6E">> = iolist_to_binary(re:replace("6","^[0-9]+$","nrnSg&\\1\\1E",[])), 
    <<"nrnSg6E">> = iolist_to_binary(re:replace("6","^[0-9]+$","nrnSg&\\1\\1E",[global])), 
    <<"uBv">> = iolist_to_binary(re:replace("7","^[0-9]+$","uBv",[])), 
    <<"uBv">> = iolist_to_binary(re:replace("7","^[0-9]+$","uBv",[global])), 
    <<"R">> = iolist_to_binary(re:replace("8","^[0-9]+$","R",[])), 
    <<"R">> = iolist_to_binary(re:replace("8","^[0-9]+$","R",[global])), 
    <<"t9gys9DIukLiJU9Qb9">> = iolist_to_binary(re:replace("9","^[0-9]+$","t&gys\\1&DIukLiJU&Qb&",[])), 
    <<"t9gys9DIukLiJU9Qb9">> = iolist_to_binary(re:replace("9","^[0-9]+$","t&gys\\1&DIukLiJU&Qb&",[global])), 
    <<"tIOqKYBcuX10">> = iolist_to_binary(re:replace("10","^[0-9]+$","tIOqKYBcuX&",[])), 
    <<"tIOqKYBcuX10">> = iolist_to_binary(re:replace("10","^[0-9]+$","tIOqKYBcuX&",[global])), 
    <<"QfE">> = iolist_to_binary(re:replace("100","^[0-9]+$","QfE",[])), 
    <<"QfE">> = iolist_to_binary(re:replace("100","^[0-9]+$","QfE",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[0-9]+$","UDbN\\1jnxythM\\1\\1sdH&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[0-9]+$","UDbN\\1jnxythM\\1\\1sdH&",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","^[0-9]+$","cUQQDAc",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","^[0-9]+$","cUQQDAc",[global])), 
    <<"CVuenterheUenterWenter">> = iolist_to_binary(re:replace("enter","^.*nter","C\\1Vu&heU&\\1W&",[])), 
    <<"CVuenterheUenterWenter">> = iolist_to_binary(re:replace("enter","^.*nter","C\\1Vu&heU&\\1W&",[global])), 
    <<"IEc">> = iolist_to_binary(re:replace("inter","^.*nter","IEc",[])), 
    <<"IEc">> = iolist_to_binary(re:replace("inter","^.*nter","IEc",[global])), 
    <<"EJPILFHXKDCNvaTC">> = iolist_to_binary(re:replace("uponter","^.*nter","EJPIL\\1FHXKDCNvaTC",[])), 
    <<"EJPILFHXKDCNvaTC">> = iolist_to_binary(re:replace("uponter","^.*nter","EJPIL\\1FHXKDCNvaTC",[global])), 
    ok.
run1() ->
    <<"P">> = iolist_to_binary(re:replace("xxx0","^xxx[0-9]+$","P",[])), 
    <<"P">> = iolist_to_binary(re:replace("xxx0","^xxx[0-9]+$","P",[global])), 
    <<"eSFOJJrLwTwUxxx1234xxx1234Mqmxxx1234P">> = iolist_to_binary(re:replace("xxx1234","^xxx[0-9]+$","eSFOJJrLwTwU&&Mqm&P",[])), 
    <<"eSFOJJrLwTwUxxx1234xxx1234Mqmxxx1234P">> = iolist_to_binary(re:replace("xxx1234","^xxx[0-9]+$","eSFOJJrLwTwU&&Mqm&P",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^xxx[0-9]+$","rqtBg",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^xxx[0-9]+$","rqtBg",[global])), 
    <<"xxx">> = iolist_to_binary(re:replace("xxx","^xxx[0-9]+$","BC&WMPvffc&kTc",[])), 
    <<"xxx">> = iolist_to_binary(re:replace("xxx","^xxx[0-9]+$","BC&WMPvffc&kTc",[global])), 
    <<"x123lx123x123x123UnCsPMYYkPx123mE">> = iolist_to_binary(re:replace("x123","^.+[0-9][0-9][0-9]$","&l&&&Un\\1CsPMYYkP\\1&mE",[])), 
    <<"x123lx123x123x123UnCsPMYYkPx123mE">> = iolist_to_binary(re:replace("x123","^.+[0-9][0-9][0-9]$","&l&&&Un\\1CsPMYYkP\\1&mE",[global])), 
    <<"IdKDxx123rQnxx123gDqdon">> = iolist_to_binary(re:replace("xx123","^.+[0-9][0-9][0-9]$","IdKD&rQ\\1\\1n&gD\\1qdo\\1n",[])), 
    <<"IdKDxx123rQnxx123gDqdon">> = iolist_to_binary(re:replace("xx123","^.+[0-9][0-9][0-9]$","IdKD&rQ\\1\\1n&gD\\1qdo\\1n",[global])), 
    <<"RkaqCHlxR">> = iolist_to_binary(re:replace("123456","^.+[0-9][0-9][0-9]$","Rk\\1aqCHlxR",[])), 
    <<"RkaqCHlxR">> = iolist_to_binary(re:replace("123456","^.+[0-9][0-9][0-9]$","Rk\\1aqCHlxR",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+[0-9][0-9][0-9]$","cgy\\1xVdgl&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+[0-9][0-9][0-9]$","cgy\\1xVdgl&",[global])), 
    <<"123">> = iolist_to_binary(re:replace("123","^.+[0-9][0-9][0-9]$","CGIYKCWyECIvTQ",[])), 
    <<"123">> = iolist_to_binary(re:replace("123","^.+[0-9][0-9][0-9]$","CGIYKCWyECIvTQ",[global])), 
    <<"FtyEkgTx1234aW">> = iolist_to_binary(re:replace("x1234","^.+[0-9][0-9][0-9]$","FtyEkg\\1T&aW",[])), 
    <<"FtyEkgTx1234aW">> = iolist_to_binary(re:replace("x1234","^.+[0-9][0-9][0-9]$","FtyEkg\\1T&aW",[global])), 
    <<"KeT">> = iolist_to_binary(re:replace("x123","^.+?[0-9][0-9][0-9]$","KeT",[])), 
    <<"KeT">> = iolist_to_binary(re:replace("x123","^.+?[0-9][0-9][0-9]$","KeT",[global])), 
    <<"Lxx123ikqEJxx123xx123">> = iolist_to_binary(re:replace("xx123","^.+?[0-9][0-9][0-9]$","L&ikqEJ\\1&&\\1\\1",[])), 
    <<"Lxx123ikqEJxx123xx123">> = iolist_to_binary(re:replace("xx123","^.+?[0-9][0-9][0-9]$","L&ikqEJ\\1&&\\1\\1",[global])), 
    <<"X123456R">> = iolist_to_binary(re:replace("123456","^.+?[0-9][0-9][0-9]$","X&R",[])), 
    <<"X123456R">> = iolist_to_binary(re:replace("123456","^.+?[0-9][0-9][0-9]$","X&R",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+?[0-9][0-9][0-9]$","tKJBvn",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+?[0-9][0-9][0-9]$","tKJBvn",[global])), 
    <<"123">> = iolist_to_binary(re:replace("123","^.+?[0-9][0-9][0-9]$","hVg\\1P\\1\\1",[])), 
    <<"123">> = iolist_to_binary(re:replace("123","^.+?[0-9][0-9][0-9]$","hVg\\1P\\1\\1",[global])), 
    <<"Tx1234amxVpJx1234egSsUBIV">> = iolist_to_binary(re:replace("x1234","^.+?[0-9][0-9][0-9]$","T&a\\1mxVpJ\\1&egSsUBIV",[])), 
    <<"Tx1234amxVpJx1234egSsUBIV">> = iolist_to_binary(re:replace("x1234","^.+?[0-9][0-9][0-9]$","T&a\\1mxVpJ\\1&egSsUBIV",[global])), 
    <<"YWynbrCtabcabc">> = iolist_to_binary(re:replace("abc!pqr=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","YWynbrCt\\1\\1",[])), 
    <<"YWynbrCtabcabc">> = iolist_to_binary(re:replace("abc!pqr=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","YWynbrCt\\1\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","gXiCw\\1HR&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","gXiCw\\1HR&",[global])), 
    <<"!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",[])), 
    <<"!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])), 
    <<"abc!=apquxz.ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("abc!=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","\\1RDbvMJ&",[])), 
    <<"abc!=apquxz.ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("abc!=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","\\1RDbvMJ&",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"Well, we need a colonwOsWUYkpQEYQO somewhere">> = iolist_to_binary(re:replace("Well, we need a colon: somewhere",":","wOsWUYkpQEYQO",[])), 
    <<"Well, we need a colonwOsWUYkpQEYQO somewhere">> = iolist_to_binary(re:replace("Well, we need a colon: somewhere",":","wOsWUYkpQEYQO",[global])), 
    <<"*** Fail if we don't">> = iolist_to_binary(re:replace("*** Fail if we don't",":","ehPt&NEI\\1P\\1ceGP",[])), 
    <<"*** Fail if we don't">> = iolist_to_binary(re:replace("*** Fail if we don't",":","ehPt&NEI\\1P\\1ceGP",[global])), 
    <<"u0abcPr0abcfewT0abcqIyT0abcD">> = iolist_to_binary(re:replace("0abc","([\\da-f:]+)$","u\\1Pr&fewT&qIyT\\1D",[caseless])), 
    <<"u0abcPr0abcfewT0abcqIyT0abcD">> = iolist_to_binary(re:replace("0abc","([\\da-f:]+)$","u\\1Pr&fewT&qIyT\\1D",[caseless,
                                                                                                                                                                                                                         global])), 
    <<"rTODdabcvabcKUabc">> = iolist_to_binary(re:replace("abc","([\\da-f:]+)$","rTODd\\1v&KU&",[caseless])), 
    <<"rTODdabcvabcKUabc">> = iolist_to_binary(re:replace("abc","([\\da-f:]+)$","rTODd\\1v&KU&",[caseless,
                                                                                                                                                                                                        global])), 
    <<"UhjfwcfedwPfedMkfedSM">> = iolist_to_binary(re:replace("fed","([\\da-f:]+)$","Uhjfwc&wP&Mk\\1SM",[caseless])), 
    <<"UhjfwcfedwPfedMkfedSM">> = iolist_to_binary(re:replace("fed","([\\da-f:]+)$","Uhjfwc&wP&Mk\\1SM",[caseless,
                                                                                                                                                                                                                global])), 
    <<"tsEwEtEEnWpuswMEEv">> = iolist_to_binary(re:replace("E","([\\da-f:]+)$","ts\\1w&t\\1&nWpuswM\\1&v",[caseless])), 
    <<"tsEwEtEEnWpuswMEEv">> = iolist_to_binary(re:replace("E","([\\da-f:]+)$","ts\\1w&t\\1&nWpuswM\\1&v",[caseless,
                                                                                                                                                                                                                             global])), 
    <<"fXlt::X::::f::iL::tsbvQOv">> = iolist_to_binary(re:replace("::","([\\da-f:]+)$","fXlt&X&&f\\1iL&tsbvQOv",[caseless])), 
    <<"fXlt::X::::f::iL::tsbvQOv">> = iolist_to_binary(re:replace("::","([\\da-f:]+)$","fXlt&X&&f\\1iL&tsbvQOv",[caseless,
                                                                                                                                                                                                                          global])), 
    <<"AAW5f03:12C0::932exM">> = iolist_to_binary(re:replace("5f03:12C0::932e","([\\da-f:]+)$","AAW&xM",[caseless])), 
    <<"AAW5f03:12C0::932exM">> = iolist_to_binary(re:replace("5f03:12C0::932e","([\\da-f:]+)$","AAW&xM",[caseless,
                                                                                                                                                                                                                global])), 
    <<"fed defSdefndefHJy">> = iolist_to_binary(re:replace("fed def","([\\da-f:]+)$","\\1S\\1n&HJy",[caseless])), 
    <<"fed defSdefndefHJy">> = iolist_to_binary(re:replace("fed def","([\\da-f:]+)$","\\1S\\1n&HJy",[caseless,
                                                                                                                                                                                                              global])), 
    <<"Any old stuPffte">> = iolist_to_binary(re:replace("Any old stuff","([\\da-f:]+)$","P&te",[caseless])), 
    <<"Any old stuPffte">> = iolist_to_binary(re:replace("Any old stuff","([\\da-f:]+)$","P&te",[caseless,
                                                                                                                                                                                                        global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","([\\da-f:]+)$","\\1RRODRx\\1gQSrTrwC",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","([\\da-f:]+)$","\\1RRODRx\\1gQSrTrwC",[caseless,
                                                                                                                                                                                                                                     global])), 
    <<"0zzz">> = iolist_to_binary(re:replace("0zzz","([\\da-f:]+)$","C\\1",[caseless])), 
    <<"0zzz">> = iolist_to_binary(re:replace("0zzz","([\\da-f:]+)$","C\\1",[caseless,
                                                                                                                                                                                      global])), 
    <<"gzzz">> = iolist_to_binary(re:replace("gzzz","([\\da-f:]+)$","MtJG&NF\\1PgL&gg\\1",[caseless])), 
    <<"gzzz">> = iolist_to_binary(re:replace("gzzz","([\\da-f:]+)$","MtJG&NF\\1PgL&gg\\1",[caseless,
                                                                                                                                                                                                                       global])), 
    <<"fed ">> = iolist_to_binary(re:replace("fed ","([\\da-f:]+)$","yL&WjLe&\\1NC&GCG\\1xD",[caseless])), 
    <<"fed ">> = iolist_to_binary(re:replace("fed ","([\\da-f:]+)$","yL&WjLe&\\1NC&GCG\\1xD",[caseless,
                                                                                                                                                                                                                              global])), 
    <<"Any old rubbish">> = iolist_to_binary(re:replace("Any old rubbish","([\\da-f:]+)$","bJbtPIaR",[caseless])), 
    <<"Any old rubbish">> = iolist_to_binary(re:replace("Any old rubbish","([\\da-f:]+)$","bJbtPIaR",[caseless,
                                                                                                                                                                                                                   global])), 
    <<"T1">> = iolist_to_binary(re:replace(".1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","T\\1",[])), 
    <<"T1">> = iolist_to_binary(re:replace(".1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","T\\1",[global])), 
    <<"dOdvJFA.12.123.012">> = iolist_to_binary(re:replace("A.12.123.0","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","dOdvJF&\\1",[])), 
    <<"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])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","hLnol",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","hLnol",[global])), 
    <<".1.2.3333">> = iolist_to_binary(re:replace(".1.2.3333","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","fFUsmk\\1Ltx",[])), 
    <<".1.2.3333">> = iolist_to_binary(re:replace(".1.2.3333","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","fFUsmk\\1Ltx",[global])), 
    <<"1.2.3">> = iolist_to_binary(re:replace("1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","v",[])), 
    <<"1.2.3">> = iolist_to_binary(re:replace("1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","v",[global])), 
    <<"1234.2.3">> = iolist_to_binary(re:replace("1234.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","tcSnhlApa",[])), 
    <<"1234.2.3">> = iolist_to_binary(re:replace("1234.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","tcSnhlApa",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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&",[])), 
    <<"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])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","YYlMHXKMT&K\\1w&sJ",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","YYlMHXKMT&K\\1w&sJ",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"rnRluS">> = iolist_to_binary(re:replace("a.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","rnRluS",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"hB">> = iolist_to_binary(re:replace("2.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","\\1hB",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","jAGN",[])), 
    <<"*** 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])), 
    <<"-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",[])), 
    <<"-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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"*** 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&",[])), 
    <<"*** 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])), 
    <<"*.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&",[])), 
    <<"*.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])), 
    <<"*.a-">> = iolist_to_binary(re:replace("*.a-","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","&IphIN",[])), 
    <<"*.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])), 
    <<"*.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",[])), 
    <<"*.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])), 
    <<"*.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",[])), 
    <<"*.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])), 
    <<"deabdedeYddeBOpd">> = iolist_to_binary(re:replace("abde","^(?=ab(de))(abd)(e)","\\1&\\1Yd\\1BOpd",[])), 
    <<"deabdedeYddeBOpd">> = iolist_to_binary(re:replace("abde","^(?=ab(de))(abd)(e)","\\1&\\1Yd\\1BOpd",[global])), 
    <<"fP">> = iolist_to_binary(re:replace("abdf","^(?!(ab)de|x)(abd)(f)","fP",[])), 
    <<"fP">> = iolist_to_binary(re:replace("abdf","^(?!(ab)de|x)(abd)(f)","fP",[global])), 
    <<"sAabcdabLioGabcdwHabcdgMvvDIcd">> = iolist_to_binary(re:replace("abcd","^(?=(ab(cd)))(ab)","sA\\1&LioG\\1wH\\1gMvvDI",[])), 
    <<"sAabcdabLioGabcdwHabcdgMvvDIcd">> = iolist_to_binary(re:replace("abcd","^(?=(ab(cd)))(ab)","sA\\1&LioG\\1wH\\1gMvvDI",[global])), 
    <<"D">> = iolist_to_binary(re:replace("a.b.c.d","^[\\da-f](\\.[\\da-f])*$","D",[caseless])), 
    <<"D">> = iolist_to_binary(re:replace("a.b.c.d","^[\\da-f](\\.[\\da-f])*$","D",[caseless,
                                                                                                                                                                                                             global])), 
    <<"ma.Dy.D">> = iolist_to_binary(re:replace("A.B.C.D","^[\\da-f](\\.[\\da-f])*$","ma\\1y\\1",[caseless])), 
    <<"ma.Dy.D">> = iolist_to_binary(re:replace("A.B.C.D","^[\\da-f](\\.[\\da-f])*$","ma\\1y\\1",[caseless,
                                                                                                                                                                                                                               global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                        global])), 
    <<"hoN">> = iolist_to_binary(re:replace("\"1234\"","^\\\".*\\\"\\s*(;.*)?$","hoN",[])), 
    <<"hoN">> = iolist_to_binary(re:replace("\"1234\"","^\\\".*\\\"\\s*(;.*)?$","hoN",[global])), 
    <<"mAGoxP\"abcd\" ;LTrowOqTtkrS">> = iolist_to_binary(re:replace("\"abcd\" ;","^\\\".*\\\"\\s*(;.*)?$","mAGoxP&LTrowOqTtkrS",[])), 
    <<"mAGoxP\"abcd\" ;LTrowOqTtkrS">> = iolist_to_binary(re:replace("\"abcd\" ;","^\\\".*\\\"\\s*(;.*)?$","mAGoxP&LTrowOqTtkrS",[global])), 
    <<"; rhubarb\"\" ; rhubarbACq; rhubarbJhxa; rhubarb">> = iolist_to_binary(re:replace("\"\" ; rhubarb","^\\\".*\\\"\\s*(;.*)?$","\\1&ACq\\1Jhxa\\1",[])), 
    <<"; rhubarb\"\" ; rhubarbACq; rhubarbJhxa; rhubarb">> = iolist_to_binary(re:replace("\"\" ; rhubarb","^\\\".*\\\"\\s*(;.*)?$","\\1&ACq\\1Jhxa\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\\".*\\\"\\s*(;.*)?$","uuJoIhaVnwJ",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\\".*\\\"\\s*(;.*)?$","uuJoIhaVnwJ",[global])), 
    <<"\"1234\" : things">> = iolist_to_binary(re:replace("\"1234\" : things","^\\\".*\\\"\\s*(;.*)?$","&",[])), 
    <<"\"1234\" : things">> = iolist_to_binary(re:replace("\"1234\" : things","^\\\".*\\\"\\s*(;.*)?$","&",[global])), 
    <<"IHpbwDeDoVJ">> = iolist_to_binary(re:replace("","^$","IHpbw\\1DeDoV\\1J",[])), 
    <<"IHpbwDeDoVJ">> = iolist_to_binary(re:replace("","^$","IHpbw\\1DeDoV\\1J",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^$","uhGdgAUnWJEF",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^$","uhGdgAUnWJEF",[global])), 
    <<"ab cab cWr">> = iolist_to_binary(re:replace("ab c","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","&&Wr",[extended])), 
    <<"ab cab cWr">> = iolist_to_binary(re:replace("ab c","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","&&Wr",[extended,
                                                                                                                                                                                                                                                                                                   global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","GGresSs\\1Q&yX",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","GGresSs\\1Q&yX",[extended,
                                                                                                                                                                                                                                                                                                                                     global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","li\\1Qy\\1XfY",[extended])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","li\\1Qy\\1XfY",[extended,
                                                                                                                                                                                                                                                                                                                   global])), 
    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","c\\1H&",[extended])), 
    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","c\\1H&",[extended,
                                                                                                                                                                                                                                                                                                           global])), 
    <<"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",[])), 
    <<"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])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","BiO\\1OITSCrXtQNI\\1Wkc",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","BiO\\1OITSCrXtQNI\\1Wkc",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","myYnx\\1OS\\1DTaa",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","myYnx\\1OS\\1DTaa",[global])), 
    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","nJCbPkJnDbYu&SNbC",[])), 
    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","nJCbPkJnDbYu&SNbC",[global])), 
    <<"NkFMbyd">> = iolist_to_binary(re:replace("a bcd","^   a\\ b[c ]d       $","NkFMbyd",[extended])), 
    <<"NkFMbyd">> = iolist_to_binary(re:replace("a bcd","^   a\\ b[c ]d       $","NkFMbyd",[extended,
                                                                                                                                                                                                               global])), 
    <<"VEOn">> = iolist_to_binary(re:replace("a b d","^   a\\ b[c ]d       $","VEOn",[extended])), 
    <<"VEOn">> = iolist_to_binary(re:replace("a b d","^   a\\ b[c ]d       $","VEOn",[extended,
                                                                                                                                                                                                         global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^   a\\ b[c ]d       $","aiLS",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^   a\\ b[c ]d       $","aiLS",[extended,
                                                                                                                                                                                                                     global])), 
    <<"abcd">> = iolist_to_binary(re:replace("abcd","^   a\\ b[c ]d       $","&TlY\\1\\1J&VFir",[extended])), 
    <<"abcd">> = iolist_to_binary(re:replace("abcd","^   a\\ b[c ]d       $","&TlY\\1\\1J&VFir",[extended,
                                                                                                                                                                                                                                   global])), 
    <<"ab d">> = iolist_to_binary(re:replace("ab d","^   a\\ b[c ]d       $","EPKW",[extended])), 
    <<"ab d">> = iolist_to_binary(re:replace("ab d","^   a\\ b[c ]d       $","EPKW",[extended,
                                                                                                                                                                                                       global])), 
    <<"JabcdefhijklmSJtCtOhgCabcbabce">> = iolist_to_binary(re:replace("abcdefhijklm","^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$","J&SJtCtOhgC\\1b\\1e",[])), 
    <<"JabcdefhijklmSJtCtOhgCabcbabce">> = iolist_to_binary(re:replace("abcdefhijklm","^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$","J&SJtCtOhgC\\1b\\1e",[global])), 
    ok.
run2() ->
    <<"vbcbcFLoswabcdefhijklmAEBTabcdefhijklmLxgR">> = iolist_to_binary(re:replace("abcdefhijklm","^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$","v\\1\\1FLosw&AEBT&LxgR",[])), 
    <<"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])), 
    <<"rfhXDTtoGIitUa+ Z0+
aq">> = iolist_to_binary(re:replace("a+ Z0+
","^[\\w][\\W][\\s][\\S][\\d][\\D][\\b][\\n][\\c]][\\022]","rf\\1hXDT\\1toGIitU&aq",[])), 
    <<"rfhXDTtoGIitUa+ Z0+
aq">> = iolist_to_binary(re:replace("a+ Z0+
","^[\\w][\\W][\\s][\\S][\\d][\\D][\\b][\\n][\\c]][\\022]","rf\\1hXDT\\1toGIitU&aq",[global])), 
    <<"CU.^$(*+)|{?,?}">> = iolist_to_binary(re:replace(".^$(*+)|{?,?}","^[.^$|()*+?{,}]+","CU\\1&",[])), 
    <<"CU.^$(*+)|{?,?}">> = iolist_to_binary(re:replace(".^$(*+)|{?,?}","^[.^$|()*+?{,}]+","CU\\1&",[global])), 
    <<"YBmuTIAl">> = iolist_to_binary(re:replace("z","^a*\\w","YBmuTIAl",[])), 
    <<"YBmuTIAl">> = iolist_to_binary(re:replace("z","^a*\\w","YBmuTIAl",[global])), 
    <<"oQyLlPbDtbyg">> = iolist_to_binary(re:replace("az","^a*\\w","oQyLlP\\1\\1bDt\\1by\\1g",[])), 
    <<"oQyLlPbDtbyg">> = iolist_to_binary(re:replace("az","^a*\\w","oQyLlP\\1\\1bDt\\1by\\1g",[global])), 
    <<"mWdReExiMyALqM">> = iolist_to_binary(re:replace("aaaz","^a*\\w","mWdReExiMyALqM",[])), 
    <<"mWdReExiMyALqM">> = iolist_to_binary(re:replace("aaaz","^a*\\w","mWdReExiMyALqM",[global])), 
    <<"YxwJd">> = iolist_to_binary(re:replace("a","^a*\\w","Yx\\1wJd",[])), 
    <<"YxwJd">> = iolist_to_binary(re:replace("a","^a*\\w","Yx\\1wJd",[global])), 
    <<"WrOXRQ">> = iolist_to_binary(re:replace("aa","^a*\\w","WrOXRQ\\1",[])), 
    <<"WrOXRQ">> = iolist_to_binary(re:replace("aa","^a*\\w","WrOXRQ\\1",[global])), 
    <<"IUtgwPFjpaaaaax">> = iolist_to_binary(re:replace("aaaa","^a*\\w","IUtgwPFjp&ax",[])), 
    <<"IUtgwPFjpaaaaax">> = iolist_to_binary(re:replace("aaaa","^a*\\w","IUtgwPFjp&ax",[global])), 
    <<"CmcxaBmvbENiCdje+">> = iolist_to_binary(re:replace("a+","^a*\\w","Cmcx&BmvbENiCdje\\1",[])), 
    <<"CmcxaBmvbENiCdje+">> = iolist_to_binary(re:replace("a+","^a*\\w","Cmcx&BmvbENiCdje\\1",[global])), 
    <<"ppr+">> = iolist_to_binary(re:replace("aa+","^a*\\w","ppr",[])), 
    <<"ppr+">> = iolist_to_binary(re:replace("aa+","^a*\\w","ppr",[global])), 
    <<"PzqITvYUDMzBNhfmHb">> = iolist_to_binary(re:replace("z","^a*?\\w","P&qITvYUDM\\1&BNhfm\\1Hb",[])), 
    <<"PzqITvYUDMzBNhfmHb">> = iolist_to_binary(re:replace("z","^a*?\\w","P&qITvYUDM\\1&BNhfm\\1Hb",[global])), 
    <<"xjz">> = iolist_to_binary(re:replace("az","^a*?\\w","\\1xj",[])), 
    <<"xjz">> = iolist_to_binary(re:replace("az","^a*?\\w","\\1xj",[global])), 
    <<"nSGvgEaaz">> = iolist_to_binary(re:replace("aaaz","^a*?\\w","nSGvgE",[])), 
    <<"nSGvgEaaz">> = iolist_to_binary(re:replace("aaaz","^a*?\\w","nSGvgE",[global])), 
    <<"akBYqdpnDpF">> = iolist_to_binary(re:replace("a","^a*?\\w","\\1&\\1kBYqdpnDpF",[])), 
    <<"akBYqdpnDpF">> = iolist_to_binary(re:replace("a","^a*?\\w","\\1&\\1kBYqdpnDpF",[global])), 
    <<"aWWhBaca">> = iolist_to_binary(re:replace("aa","^a*?\\w","aWWhB&c",[])), 
    <<"aWWhBaca">> = iolist_to_binary(re:replace("aa","^a*?\\w","aWWhB&c",[global])), 
    <<"EVKLmPxhaadNVCaaa">> = iolist_to_binary(re:replace("aaaa","^a*?\\w","EVKLmPxh&&dNVC\\1",[])), 
    <<"EVKLmPxhaadNVCaaa">> = iolist_to_binary(re:replace("aaaa","^a*?\\w","EVKLmPxh&&dNVC\\1",[global])), 
    <<"ue+">> = iolist_to_binary(re:replace("a+","^a*?\\w","u\\1e",[])), 
    <<"ue+">> = iolist_to_binary(re:replace("a+","^a*?\\w","u\\1e",[global])), 
    <<"xa+">> = iolist_to_binary(re:replace("aa+","^a*?\\w","x",[])), 
    <<"xa+">> = iolist_to_binary(re:replace("aa+","^a*?\\w","x",[global])), 
    <<"mtSazhiAQKFcLgcy">> = iolist_to_binary(re:replace("az","^a+\\w","mtS&hiAQK\\1FcLgcy",[])), 
    <<"mtSazhiAQKFcLgcy">> = iolist_to_binary(re:replace("az","^a+\\w","mtS&hiAQK\\1FcLgcy",[global])), 
    <<"aaazLYLsP">> = iolist_to_binary(re:replace("aaaz","^a+\\w","&LY\\1LsP",[])), 
    <<"aaazLYLsP">> = iolist_to_binary(re:replace("aaaz","^a+\\w","&LY\\1LsP",[global])), 
    <<"JWV">> = iolist_to_binary(re:replace("aa","^a+\\w","JWV",[])), 
    <<"JWV">> = iolist_to_binary(re:replace("aa","^a+\\w","JWV",[global])), 
    <<"GHYCIRYhTaaaaYk">> = iolist_to_binary(re:replace("aaaa","^a+\\w","GHYC\\1IR\\1YhT&Yk",[])), 
    <<"GHYCIRYhTaaaaYk">> = iolist_to_binary(re:replace("aaaa","^a+\\w","GHYC\\1IR\\1YhT&Yk",[global])), 
    <<"qWLubkoR+">> = iolist_to_binary(re:replace("aa+","^a+\\w","qWLubkoR",[])), 
    <<"qWLubkoR+">> = iolist_to_binary(re:replace("aa+","^a+\\w","qWLubkoR",[global])), 
    <<"QgHtshICxVl">> = iolist_to_binary(re:replace("az","^a+?\\w","QgHt\\1shI\\1CxVl",[])), 
    <<"QgHtshICxVl">> = iolist_to_binary(re:replace("az","^a+?\\w","QgHt\\1shI\\1CxVl",[global])), 
    <<"QAUTaz">> = iolist_to_binary(re:replace("aaaz","^a+?\\w","QAUT",[])), 
    <<"QAUTaz">> = iolist_to_binary(re:replace("aaaz","^a+?\\w","QAUT",[global])), 
    <<"aaNKKDqaaXXJvkgaathj">> = iolist_to_binary(re:replace("aa","^a+?\\w","&NKKDq&XXJvkg&thj",[])), 
    <<"aaNKKDqaaXXJvkgaathj">> = iolist_to_binary(re:replace("aa","^a+?\\w","&NKKDq&XXJvkg&thj",[global])), 
    <<"paajyaNtcaa">> = iolist_to_binary(re:replace("aaaa","^a+?\\w","p\\1&jyaNtc",[])), 
    <<"paajyaNtcaa">> = iolist_to_binary(re:replace("aaaa","^a+?\\w","p\\1&jyaNtc",[global])), 
    <<"eKfjhSmMfKaaaap+">> = iolist_to_binary(re:replace("aa+","^a+?\\w","eKfjhSmMfK&&p",[])), 
    <<"eKfjhSmMfKaaaap+">> = iolist_to_binary(re:replace("aa+","^a+?\\w","eKfjhSmMfK&&p",[global])), 
    <<"fqmX1234567890KYJD1234567890dLdQYNvF12345678901234567890">> = iolist_to_binary(re:replace("1234567890","^\\d{8}\\w{2,}","fqmX&KYJD&dLdQYNvF&&",[])), 
    <<"fqmX1234567890KYJD1234567890dLdQYNvF12345678901234567890">> = iolist_to_binary(re:replace("1234567890","^\\d{8}\\w{2,}","fqmX&KYJD&dLdQYNvF&&",[global])), 
    <<"GNln">> = iolist_to_binary(re:replace("12345678ab","^\\d{8}\\w{2,}","G\\1Nln",[])), 
    <<"GNln">> = iolist_to_binary(re:replace("12345678ab","^\\d{8}\\w{2,}","G\\1Nln",[global])), 
    <<"F12345678__LL12345678__JU12345678__IbAQiv12345678__D">> = iolist_to_binary(re:replace("12345678__","^\\d{8}\\w{2,}","F&LL&JU&IbAQi\\1v&D",[])), 
    <<"F12345678__LL12345678__JU12345678__IbAQiv12345678__D">> = iolist_to_binary(re:replace("12345678__","^\\d{8}\\w{2,}","F&LL&JU&IbAQi\\1v&D",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8}\\w{2,}","iStSHxD&bBUiQjj",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8}\\w{2,}","iStSHxD&bBUiQjj",[global])), 
    <<"1234567">> = iolist_to_binary(re:replace("1234567","^\\d{8}\\w{2,}","EEa",[])), 
    <<"1234567">> = iolist_to_binary(re:replace("1234567","^\\d{8}\\w{2,}","EEa",[global])), 
    <<"uoieprPRCuoie">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}$","&pr\\1PRC&",[])), 
    <<"uoieprPRCuoie">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}$","&pr\\1PRC&",[global])), 
    <<"a1234xXJ1234G1234">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}$","a&xXJ&G&",[])), 
    <<"a1234xXJ1234G1234">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}$","a&xXJ&G&",[global])), 
    <<"GtEhJ12345l">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}$","GtEhJ&l",[])), 
    <<"GtEhJ12345l">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}$","GtEhJ&l",[global])), 
    <<"bJBYcRNEc">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}$","bJBYc\\1RNEc",[])), 
    <<"bJBYcRNEc">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}$","bJBYc\\1RNEc",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[aeiou\\d]{4,5}$","\\1CbAy&Gejrv&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[aeiou\\d]{4,5}$","\\1CbAy&Gejrv&",[global])), 
    <<"123456">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}$","&ftepSatEwgqIL",[])), 
    <<"123456">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}$","&ftepSatEwgqIL",[global])), 
    <<"kJipvPhUNA">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}?","k\\1\\1JipvPhUNA",[])), 
    <<"kJipvPhUNA">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}?","k\\1\\1JipvPhUNA",[global])), 
    <<"yXeJ1234spOtaDGQEa">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}?","yXeJ\\1&spOtaDGQ\\1E\\1a",[])), 
    <<"yXeJ1234spOtaDGQEa">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}?","yXeJ\\1&spOtaDGQ\\1E\\1a",[global])), 
    <<"otWuaaL12341234F1234Ej5">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}?","otWuaaL&&F&E\\1\\1j",[])), 
    <<"otWuaaL12341234F1234Ej5">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}?","otWuaaL&&F&E\\1\\1j",[global])), 
    <<"OjJFYaaaafaaaaaaaajmxxNEiDa">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}?","\\1OjJFY&f&&jmxxNEiD",[])), 
    <<"OjJFYaaaafaaaaaaaajmxxNEiDa">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}?","\\1OjJFY&f&&jmxxNEiD",[global])), 
    <<"xvM1234Anq1234UpiOggGI56">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}?","xv\\1M&Anq&Up\\1iOggGI",[])), 
    <<"xvM1234Anq1234UpiOggGI56">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}?","xv\\1M&Anq&Up\\1iOggGI",[global])), 
    <<"Cqabc=abcabcabc=abcabcybabcvabcrabcAgJK">> = iolist_to_binary(re:replace("abc=abcabc","\\A(abc|def)=(\\1){2,3}\\Z","Cq&&yb\\1v\\1r\\1AgJK",[])), 
    <<"Cqabc=abcabcabc=abcabcybabcvabcrabcAgJK">> = iolist_to_binary(re:replace("abc=abcabc","\\A(abc|def)=(\\1){2,3}\\Z","Cq&&yb\\1v\\1r\\1AgJK",[global])), 
    <<"e">> = iolist_to_binary(re:replace("def=defdefdef","\\A(abc|def)=(\\1){2,3}\\Z","e",[])), 
    <<"e">> = iolist_to_binary(re:replace("def=defdefdef","\\A(abc|def)=(\\1){2,3}\\Z","e",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\A(abc|def)=(\\1){2,3}\\Z","LC\\1\\1cX&r\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\A(abc|def)=(\\1){2,3}\\Z","LC\\1\\1cX&r\\1",[global])), 
    <<"abc=defdef">> = iolist_to_binary(re:replace("abc=defdef","\\A(abc|def)=(\\1){2,3}\\Z","W&Oq&\\1",[])), 
    <<"abc=defdef">> = iolist_to_binary(re:replace("abc=defdef","\\A(abc|def)=(\\1){2,3}\\Z","W&Oq&\\1",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"v">> = iolist_to_binary(re:replace("cataract cataract23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","v",[])), 
    <<"v">> = iolist_to_binary(re:replace("cataract cataract23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","v",[global])), 
    <<"acatatonicurmvcatatonic">> = iolist_to_binary(re:replace("catatonic catatonic23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","a\\1urmv\\1",[])), 
    <<"acatatonicurmvcatatonic">> = iolist_to_binary(re:replace("catatonic catatonic23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","a\\1urmv\\1",[global])), 
    <<"XVEjcaterpillar caterpillar23YcaterpillarAnxyWcaterpillarTvYyY">> = iolist_to_binary(re:replace("caterpillar caterpillar23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","XVEj&Y\\1AnxyW\\1TvYyY",[])), 
    <<"XVEjcaterpillar caterpillar23YcaterpillarAnxyWcaterpillarTvYyY">> = iolist_to_binary(re:replace("caterpillar caterpillar23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","XVEj&Y\\1AnxyW\\1TvYyY",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"*** 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",[])), 
    <<"*** 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])), 
    <<"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",[])), 
    <<"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])), 
    <<"wgMRV12
34dXcgTVheaqJ12
34uR">> = iolist_to_binary(re:replace("12
34","^12.34","wgMRV&dXcgTVheaqJ&uR",[dotall])), 
    <<"wgMRV12
34dXcgTVheaqJ12
34uR">> = iolist_to_binary(re:replace("12
34","^12.34","wgMRV&dXcgTVheaqJ&uR",[dotall,global])), 
    <<"Nx12
34XXami">> = iolist_to_binary(re:replace("12
34","^12.34","Nx&XXami",[dotall])), 
    <<"Nx12
34XXami">> = iolist_to_binary(re:replace("12
34","^12.34","Nx&XXami",[dotall,
                                                                                                                                                                                global])), 
    <<"the quick IYgNNy	 fox">> = iolist_to_binary(re:replace("the quick brown	 fox","\\w+(?=\\t)","IYgNNy",[])), 
    <<"the quick IYgNNy	 fox">> = iolist_to_binary(re:replace("the quick brown	 fox","\\w+(?=\\t)","IYgNNy",[global])), 
    <<"foobar is lish see?VpOwivKT">> = iolist_to_binary(re:replace("foobar is foolish see?","foo(?!bar)(.*)","\\1VpOwivKT",[])), 
    <<"foobar is lish see?VpOwivKT">> = iolist_to_binary(re:replace("foobar is foolish see?","foo(?!bar)(.*)","\\1VpOwivKT",[global])), 
    <<"foobar ctmTbrowbar etcUVS etc etc etcVu">> = iolist_to_binary(re:replace("foobar crowbar etc","(?:(?!foo)...|^.{0,2})bar(.*)","tmTb&UVS\\1\\1\\1Vu",[])), 
    <<"foobar ctmTbrowbar etcUVS etc etc etcVu">> = iolist_to_binary(re:replace("foobar crowbar etc","(?:(?!foo)...|^.{0,2})bar(.*)","tmTb&UVS\\1\\1\\1Vu",[global])), 
    <<"relJSQucc">> = iolist_to_binary(re:replace("barrel","(?:(?!foo)...|^.{0,2})bar(.*)","\\1JSQucc",[])), 
    <<"relJSQucc">> = iolist_to_binary(re:replace("barrel","(?:(?!foo)...|^.{0,2})bar(.*)","\\1JSQucc",[global])), 
    <<"rdrSoV">> = iolist_to_binary(re:replace("2barrel","(?:(?!foo)...|^.{0,2})bar(.*)","rdrSoV",[])), 
    <<"rdrSoV">> = iolist_to_binary(re:replace("2barrel","(?:(?!foo)...|^.{0,2})bar(.*)","rdrSoV",[global])), 
    <<"eXfWy">> = iolist_to_binary(re:replace("A barrel","(?:(?!foo)...|^.{0,2})bar(.*)","eXfWy",[])), 
    <<"eXfWy">> = iolist_to_binary(re:replace("A barrel","(?:(?!foo)...|^.{0,2})bar(.*)","eXfWy",[global])), 
    <<"w456">> = iolist_to_binary(re:replace("abc456","^(\\D*)(?=\\d)(?!123)","w",[])), 
    <<"w456">> = iolist_to_binary(re:replace("abc456","^(\\D*)(?=\\d)(?!123)","w",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","K\\1\\1AqfXA&w\\1u",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","K\\1\\1AqfXA&w\\1u",[global])), 
    <<"abc123">> = iolist_to_binary(re:replace("abc123","^(\\D*)(?=\\d)(?!123)","JdWVKM&yVT",[])), 
    <<"abc123">> = iolist_to_binary(re:replace("abc123","^(\\D*)(?=\\d)(?!123)","JdWVKM&yVT",[global])), 
    ok.
run3() ->
    <<"iuO1234wOcoFuHtrEJy">> = iolist_to_binary(re:replace("1234","^1234(?# test newlines
  inside)","iuO&wOcoFuHtrE\\1Jy",[])), 
    <<"iuO1234wOcoFuHtrEJy">> = iolist_to_binary(re:replace("1234","^1234(?# test newlines
  inside)","iuO&wOcoFuHtrE\\1Jy",[global])), 
    <<"gJCrEQqo1234JrkS">> = iolist_to_binary(re:replace("1234","^1234 #comment in extended re
  ","gJC\\1rE\\1Qq\\1o&JrkS",[extended])), 
    <<"gJCrEQqo1234JrkS">> = iolist_to_binary(re:replace("1234","^1234 #comment in extended re
  ","gJC\\1rE\\1Qq\\1o&JrkS",[extended,global])), 
    <<"MTEpBuVJ">> = iolist_to_binary(re:replace("abcd","#rhubarb
  abcd","MTEpBuVJ",[extended])), 
    <<"MTEpBuVJ">> = iolist_to_binary(re:replace("abcd","#rhubarb
  abcd","MTEpBuVJ",[extended,global])), 
    <<"abcdjMyabcdxPHwTRWabcdgliA">> = iolist_to_binary(re:replace("abcd","^abcd#rhubarb","&jMy&xPHwTRW&g\\1liA",[extended])), 
    <<"abcdjMyabcdxPHwTRWabcdgliA">> = iolist_to_binary(re:replace("abcd","^abcd#rhubarb","&jMy&xPHwTRW&g\\1liA",[extended,
                                                                                                                                                                                                                       global])), 
    <<"OaE">> = iolist_to_binary(re:replace("aaab","^(a)\\1{2,3}(.)","O\\1E",[])), 
    <<"OaE">> = iolist_to_binary(re:replace("aaab","^(a)\\1{2,3}(.)","O\\1E",[global])), 
    <<"CapFaBaaaabGaaaabg">> = iolist_to_binary(re:replace("aaaab","^(a)\\1{2,3}(.)","C\\1pF\\1B&G&g",[])), 
    <<"CapFaBaaaabGaaaabg">> = iolist_to_binary(re:replace("aaaab","^(a)\\1{2,3}(.)","C\\1pF\\1B&G&g",[global])), 
    <<"Faaaaab">> = iolist_to_binary(re:replace("aaaaab","^(a)\\1{2,3}(.)","F&",[])), 
    <<"Faaaaab">> = iolist_to_binary(re:replace("aaaaab","^(a)\\1{2,3}(.)","F&",[global])), 
    <<"caaaaaHRiaaaaaCFuIab">> = iolist_to_binary(re:replace("aaaaaab","^(a)\\1{2,3}(.)","c&HRi&CFuI",[])), 
    <<"caaaaaHRiaaaaaCFuIab">> = iolist_to_binary(re:replace("aaaaaab","^(a)\\1{2,3}(.)","c&HRi&CFuI",[global])), 
    <<"the gjabcPpEkyabcIiyEk">> = iolist_to_binary(re:replace("the abc","(?!^)abc","gj&PpEky&Ii\\1yEk",[])), 
    <<"the gjabcPpEkyabcIiyEk">> = iolist_to_binary(re:replace("the abc","(?!^)abc","gj&PpEky&Ii\\1yEk",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?!^)abc","tRf&&sbxQaC",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?!^)abc","tRf&&sbxQaC",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?!^)abc","H\\1BG&fg&PqEB&VP\\1",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?!^)abc","H\\1BG&fg&PqEB&VP\\1",[global])), 
    <<"ybQFSlI">> = iolist_to_binary(re:replace("abc","(?=^)abc","\\1yb\\1QFSlI",[])), 
    <<"ybQFSlI">> = iolist_to_binary(re:replace("abc","(?=^)abc","\\1yb\\1QFSlI",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=^)abc","J",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=^)abc","J",[global])), 
    <<"the abc">> = iolist_to_binary(re:replace("the abc","(?=^)abc","x&",[])), 
    <<"the abc">> = iolist_to_binary(re:replace("the abc","(?=^)abc","x&",[global])), 
    <<"hfsXbvuonxbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*|b)","hfsX\\1vuonx",[])), 
    <<"hfsXbvuonxbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*|b)","hfsX\\1vuonx",[global])), 
    <<"ddI">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*|b)","ddI",[])), 
    <<"ddI">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*|b)","ddI",[global])), 
    <<"abbbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*?|b)","\\1",[])), 
    <<"abbbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*?|b)","\\1",[global])), 
    <<"bRgwsOaabbaabbKBhbbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*?|b)","\\1RgwsO&&KBh\\1",[])), 
    <<"bRgwsOaabbaabbKBhbbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*?|b)","\\1RgwsO&&KBh\\1",[global])), 
    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","KOt\\1Sm",[extended])), 
    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","KOt\\1Sm",[extended,
                                                                              global])), 
    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","\\1",[extended])), 
    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","\\1",[extended,
                                                                         global])), 
    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","B&N\\1mWiqND\\1Ye",[extended])), 
    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","B&N\\1mWiqND\\1Ye",[extended,
                                                                                         global])), 
    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","k&&P&fhieC&HuV\\1&",[extended])), 
    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","k&&P&fhieC&HuV\\1&",[extended,
                                                                                        global])), 
    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","FM",[extended])), 
    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","FM",[extended,
                                                                      global])), 
    <<"\"/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] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","aIlGG",[extended])), 
    <<"\"/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] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","aIlGG",[extended,
                                                                         global])), 
    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","nAjRNoagN&FbIU&T\\1",[extended])), 
    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","nAjRNoagN&FbIU&T\\1",[extended,
                                                                                         global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","WS&e",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","WS&e",[extended,
                                                                        global])), 
    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","jr&XvtMJM\\1kk\\1EUHVx",[extended])), 
    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                          # optional leading comment
(?:    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
# address
|                     #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)             # one word, optionally followed by....
(?:
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
\\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)       |  # comments, or...

\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
# quoted strings
)*
<  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                     # leading <
(?:  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*

(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  ,  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
)* # further okay, if led by comma
:                                # closing colon
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  )? #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)                    # initial word
(?:  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\" (?:                      # opening quote...
[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
|                     #    or
\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
)* \"  # closing quote
)  )* # further okay, if led by a period
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  @  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*    (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                           # initial subdomain
(?:                                  #
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  \\.                        # if led by a period...
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*   (?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|   \\[                         # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
\\]                        #           ]
)                     #   ...further okay
)*
#       address spec
(?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*  > #                  trailing >
# name and address
)  (?: [\\040\\t] |  \\(
(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
\\)  )*                       # optional trailing comment","jr&XvtMJM\\1kk\\1EUHVx",[extended,
                                                                                              global])), 
    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","Q&W&\\1Y\\1xPgs\\1rlH\\1BF",[extended])), 
    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","Q&W&\\1Y\\1xPgs\\1rlH\\1BF",[extended,global])), 
    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","&",[extended])), 
    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","&",[extended,global])), 
    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","&i\\1Gf\\1siR\\1e&Dl\\1BkGV",[extended])), 
    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","&i\\1Gf\\1siR\\1e&Dl\\1BkGV",[extended,global])), 
    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","&&CV&S&OMP\\1iO\\1&vbRN",[extended])), 
    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","&&CV&S&OMP\\1iO\\1&vbRN",[extended,global])), 
    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","YI&Yg\\1T",[extended])), 
    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","YI&Yg\\1T",[extended,global])), 
    <<"\"/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.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","\\1TIeRL\\1UKGJ",[extended])), 
    <<"\"/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.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","\\1TIeRL\\1UKGJ",[extended,global])), 
    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","eHSpF&XJCAH",[extended])), 
    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","eHSpF&XJCAH",[extended,global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","&kowbne",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","&kowbne",[extended,global])), 
    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","Gx\\1NKVD",[extended])), 
    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional leading comment
(?:
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
# address
|                             #  or
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
# leading word
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
(?:
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
|
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
) # \"special\" comment or quoted string
[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
)*
<
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# <
(?:
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
(?: ,
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
)*  # additional domains
:
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)?     #       optional route
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
# Atom
|                       #  or
\"                                     # \"
[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
\"                                     #        \"
# Quoted string
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# additional words
)*
@
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
(?:
\\.
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
(?:
[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
|
\\[                            # [
(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
\\]                           #           ]
)
[\\040\\t]*                    # Nab whitespace.
(?:
\\(                              #  (
[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
(?:                                 #       (
(?:  \\\\ [^\\x80-\\xff]  |
\\(                            #  (
[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
\\)                           #                       )
)    #         special
[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
)*                                  #            )*
\\)                             #                )
[\\040\\t]* )*    # If comment found, allow more spaces.
# optional trailing comments
)*
#       address spec
>                    #                 >
# name and address
)","Gx\\1NKVD",[extended,global])), 
    <<"abcdefpqrxyz0AB">> = iolist_to_binary(re:replace("abcdefpqrxyz0AB","abc\\0def\\00pqr\\000xyz\\0000AB","dkxNTS&f",[])), 
    <<"abcdefpqrxyz0AB">> = iolist_to_binary(re:replace("abcdefpqrxyz0AB","abc\\0def\\00pqr\\000xyz\\0000AB","dkxNTS&f",[global])), 
    <<"abc456 abcdefpqrxyz0ABCDE">> = iolist_to_binary(re:replace("abc456 abcdefpqrxyz0ABCDE","abc\\0def\\00pqr\\000xyz\\0000AB","nJiU&",[])), 
    <<"abc456 abcdefpqrxyz0ABCDE">> = iolist_to_binary(re:replace("abc456 abcdefpqrxyz0ABCDE","abc\\0def\\00pqr\\000xyz\\0000AB","nJiU&",[global])), 
    <<"abc
efpqr0xyz00AB">> = iolist_to_binary(re:replace("abc
efpqr0xyz00AB","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","V&ijCkR\\1gwPa\\1voR&",[])), 
    <<"abc
efpqr0xyz00AB">> = iolist_to_binary(re:replace("abc
efpqr0xyz00AB","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","V&ijCkR\\1gwPa\\1voR&",[global])), 
    <<"abc456 abc
efpqr0xyz00ABCDE">> = iolist_to_binary(re:replace("abc456 abc
efpqr0xyz00ABCDE","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","X\\1\\1wk",[])), 
    <<"abc456 abc
efpqr0xyz00ABCDE">> = iolist_to_binary(re:replace("abc456 abc
efpqr0xyz00ABCDE","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","X\\1\\1wk",[global])), 
    <<"A">> = iolist_to_binary(re:replace("A","^[\\000-\\037]","tyqFsu&vfUBb&kaQBG",[])), 
    <<"A">> = iolist_to_binary(re:replace("A","^[\\000-\\037]","tyqFsu&vfUBb&kaQBG",[global])), 
    <<"DWjvqBB">> = iolist_to_binary(re:replace("B","^[\\000-\\037]","DWjvqB",[])), 
    <<"DWjvqBB">> = iolist_to_binary(re:replace("B","^[\\000-\\037]","DWjvqB",[global])), 
    <<"ctmC">> = iolist_to_binary(re:replace("C","^[\\000-\\037]","ctm",[])), 
    <<"ctmC">> = iolist_to_binary(re:replace("C","^[\\000-\\037]","ctm",[global])), 
    <<"tQmDpnh">> = iolist_to_binary(re:replace("","\\0*","tQ&mDpnh",[])), 
    <<"tQmDpnh">> = iolist_to_binary(re:replace("","\\0*","tQ&mDpnh",[global])), 
    <<"The AZ">> = iolist_to_binary(re:replace("The AZ","A\\x0{2,3}Z","pmlUUNWGtb",[])), 
    <<"The AZ">> = iolist_to_binary(re:replace("The AZ","A\\x0{2,3}Z","pmlUUNWGtb",[global])), 
    <<"An AZ">> = iolist_to_binary(re:replace("An AZ","A\\x0{2,3}Z","y",[])), 
    <<"An AZ">> = iolist_to_binary(re:replace("An AZ","A\\x0{2,3}Z","y",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","A\\x0{2,3}Z","h&yF&Oe",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","A\\x0{2,3}Z","h&yF&Oe",[global])), 
    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","\\1U\\1",[])), 
    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","\\1U\\1",[global])), 
    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","vlOt\\1DNTdL&T",[])), 
    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","vlOt\\1DNTdL&T",[global])), 
    <<"cowcowbellcowcowbellNBJqwwYkcowuI">> = iolist_to_binary(re:replace("cowcowbell","^(cow|)\\1(bell)","&&NBJqwwYk\\1uI",[])), 
    <<"cowcowbellcowcowbellNBJqwwYkcowuI">> = iolist_to_binary(re:replace("cowcowbell","^(cow|)\\1(bell)","&&NBJqwwYk\\1uI",[global])), 
    <<"VGNLxyRxhavyOhbell">> = iolist_to_binary(re:replace("bell","^(cow|)\\1(bell)","VGNLxyRxhavyOh&",[])), 
    <<"VGNLxyRxhavyOhbell">> = iolist_to_binary(re:replace("bell","^(cow|)\\1(bell)","VGNLxyRxhavyOh&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(cow|)\\1(bell)","Fe&GxeL&lybNB&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(cow|)\\1(bell)","Fe&GxeL&lybNB&",[global])), 
    <<"cowbell">> = iolist_to_binary(re:replace("cowbell","^(cow|)\\1(bell)","Wgx&BGClp",[])), 
    <<"cowbell">> = iolist_to_binary(re:replace("cowbell","^(cow|)\\1(bell)","Wgx&BGClp",[global])), 
    <<"K e BfRGaOUxabc">> = iolist_to_binary(re:replace(" abc","^\\s","K&e&BfRGaOUx",[])), 
    <<"K e BfRGaOUxabc">> = iolist_to_binary(re:replace(" abc","^\\s","K&e&BfRGaOUx",[global])), 
    <<"GrLooFQabc">> = iolist_to_binary(re:replace("abc","^\\s","GrLooFQ",[])), 
    <<"GrLooFQabc">> = iolist_to_binary(re:replace("abc","^\\s","GrLooFQ",[global])), 
    <<"
IaCpCUh
NCFWKSeQ
abc">> = iolist_to_binary(re:replace("
abc","^\\s","&IaCpCUh&N\\1CFWKSeQ&",[])), 
    <<"
IaCpCUh
NCFWKSeQ
abc">> = iolist_to_binary(re:replace("
abc","^\\s","&IaCpCUh&N\\1CFWKSeQ&",[global])), 
    <<"SAkruTkabc">> = iolist_to_binary(re:replace("
abc","^\\s","SAkr\\1\\1uTk",[])), 
    <<"SAkruTkabc">> = iolist_to_binary(re:replace("
abc","^\\s","SAkr\\1\\1uTk",[global])), 
    <<"yJfqnwmjabc">> = iolist_to_binary(re:replace("	abc","^\\s","yJfqnwmj\\1",[])), 
    <<"yJfqnwmjabc">> = iolist_to_binary(re:replace("	abc","^\\s","yJfqnwmj\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\s","&GwsRTRpcU",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\s","&GwsRTRpcU",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","^\\s","piG\\1AslUT&rVHB&",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","^\\s","piG\\1AslUT&rVHB&",[global])), 
    ok.
run4() ->
    <<"oYnuqock">> = iolist_to_binary(re:replace("abc","^a	b
      c","oYnuq\\1ock",[extended])), 
    <<"oYnuqock">> = iolist_to_binary(re:replace("abc","^a	b
      c","oYnuq\\1ock",[extended,global])), 
    <<"aabixSVYFQoVAIabtuGababab">> = iolist_to_binary(re:replace("ab","^(a|)\\1*b","\\1&ixSVYFQoVAI&tuG&&&",[])), 
    <<"aabixSVYFQoVAIabtuGababab">> = iolist_to_binary(re:replace("ab","^(a|)\\1*b","\\1&ixSVYFQoVAI&tuG&&&",[global])), 
    <<"FvaaaabaIaaaab">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1*b","Fv&\\1I&",[])), 
    <<"FvaaaabaIaaaab">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1*b","Fv&\\1I&",[global])), 
    <<"bCOyfHmNbMpQpaqrGbs">> = iolist_to_binary(re:replace("b","^(a|)\\1*b","bCOyfHmN&MpQpaqrG&s",[])), 
    <<"bCOyfHmNbMpQpaqrGbs">> = iolist_to_binary(re:replace("b","^(a|)\\1*b","bCOyfHmN&MpQpaqrG&s",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1*b","Ni&\\1\\1&nB\\1Jh&&&fOjpr",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1*b","Ni&\\1\\1&nB\\1Jh&&&fOjpr",[global])), 
    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1*b","w\\1GCswa&ex\\1JpP&&u",[])), 
    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1*b","w\\1GCswa&ex\\1JpP&&u",[global])), 
    <<"fplaYSyrA">> = iolist_to_binary(re:replace("aab","^(a|)\\1+b","fplaYSyrA",[])), 
    <<"fplaYSyrA">> = iolist_to_binary(re:replace("aab","^(a|)\\1+b","fplaYSyrA",[global])), 
    <<"q">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1+b","q",[])), 
    <<"q">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1+b","q",[global])), 
    <<"bGdqs">> = iolist_to_binary(re:replace("b","^(a|)\\1+b","&Gdq\\1s",[])), 
    <<"bGdqs">> = iolist_to_binary(re:replace("b","^(a|)\\1+b","&Gdq\\1s",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1+b","EmUWBUOM",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1+b","EmUWBUOM",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1+b","\\1",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1+b","\\1",[global])), 
    <<"VaaU">> = iolist_to_binary(re:replace("ab","^(a|)\\1?b","V\\1\\1U",[])), 
    <<"VaaU">> = iolist_to_binary(re:replace("ab","^(a|)\\1?b","V\\1\\1U",[global])), 
    <<"yRFaHEaabgaguAOyRdwa">> = iolist_to_binary(re:replace("aab","^(a|)\\1?b","yRF\\1HE&g\\1guAOyRdw\\1",[])), 
    <<"yRFaHEaabgaguAOyRdwa">> = iolist_to_binary(re:replace("aab","^(a|)\\1?b","yRF\\1HE&g\\1guAOyRdw\\1",[global])), 
    <<"jdes">> = iolist_to_binary(re:replace("b","^(a|)\\1?b","j\\1des",[])), 
    <<"jdes">> = iolist_to_binary(re:replace("b","^(a|)\\1?b","j\\1des",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1?b","TIrmv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1?b","TIrmv",[global])), 
    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1?b","S\\1iKv&guYQgKcq",[])), 
    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1?b","S\\1iKv&guYQgKcq",[global])), 
    <<"TRaaabaaabGJaaabeeaaabreHRnfrtKb">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2}b","TR&&GJ&ee&reHRnfrtKb",[])), 
    <<"TRaaabaaabGJaaabeeaaabreHRnfrtKb">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2}b","TR&&GJ&ee&reHRnfrtKb",[global])), 
    <<"ALqjMQmcPDj">> = iolist_to_binary(re:replace("b","^(a|)\\1{2}b","ALqjMQ\\1mcPDj",[])), 
    <<"ALqjMQmcPDj">> = iolist_to_binary(re:replace("b","^(a|)\\1{2}b","ALqjMQ\\1mcPDj",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2}b","\\1\\1Xdd&Y\\1&e",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2}b","\\1\\1Xdd&Y\\1&e",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2}b","qeS\\1gi",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2}b","qeS\\1gi",[global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2}b","nwCRrci\\1RdOBbhlx",[])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2}b","nwCRrci\\1RdOBbhlx",[global])), 
    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2}b","Lg&\\1XeI\\1Nyj",[])), 
    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2}b","Lg&\\1XeI\\1Nyj",[global])), 
    <<"GOaaabaaag">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2,3}b","GO&\\1\\1\\1g",[])), 
    <<"GOaaabaaag">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2,3}b","GO&\\1\\1\\1g",[global])), 
    <<"lxmKaaaabaaaabaaaabeXuoa">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2,3}b","lxmK&&&eXuo\\1",[])), 
    <<"lxmKaaaabaaaabaaaabeXuoa">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2,3}b","lxmK&&&eXuo\\1",[global])), 
    <<"TvbwJ">> = iolist_to_binary(re:replace("b","^(a|)\\1{2,3}b","Tv&wJ\\1",[])), 
    <<"TvbwJ">> = iolist_to_binary(re:replace("b","^(a|)\\1{2,3}b","Tv&wJ\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2,3}b","ab\\1bOcVb&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2,3}b","ab\\1bOcVb&",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2,3}b","WMYjIOMVqCgU\\1GVPH",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2,3}b","WMYjIOMVqCgU\\1GVPH",[global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2,3}b","EjtNGCa",[])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2,3}b","EjtNGCa",[global])), 
    <<"aaaaab">> = iolist_to_binary(re:replace("aaaaab","^(a|)\\1{2,3}b","R\\1VC\\1vdVw",[])), 
    <<"aaaaab">> = iolist_to_binary(re:replace("aaaaab","^(a|)\\1{2,3}b","R\\1VC\\1vdVw",[global])), 
    <<"VkSvabbbbcabbbbcAabbbbcO">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","Vk\\1Sv&&A&O",[])), 
    <<"VkSvabbbbcabbbbcAabbbbcO">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","Vk\\1Sv&&A&O",[global])), 
    <<"EYabbbcWLBYcabbbcPiCg">> = iolist_to_binary(re:replace("abbbc","ab{1,3}bc","EY&WLBYc&PiCg",[])), 
    <<"EYabbbcWLBYcabbbcPiCg">> = iolist_to_binary(re:replace("abbbc","ab{1,3}bc","EY&WLBYc&PiCg",[global])), 
    <<"gGY">> = iolist_to_binary(re:replace("abbc","ab{1,3}bc","gG\\1Y",[])), 
    <<"gGY">> = iolist_to_binary(re:replace("abbc","ab{1,3}bc","gG\\1Y",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{1,3}bc","TXERvv\\1HEnguTRN",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{1,3}bc","TXERvv\\1HEnguTRN",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","ab{1,3}bc","jQE&DJFGc\\1\\1b\\1c\\1&&XBX",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","ab{1,3}bc","jQE&DJFGc\\1\\1b\\1c\\1&&XBX",[global])), 
    <<"abbbbbc">> = iolist_to_binary(re:replace("abbbbbc","ab{1,3}bc","WQWQvwRSQle&",[])), 
    <<"abbbbbc">> = iolist_to_binary(re:replace("abbbbbc","ab{1,3}bc","WQWQvwRSQle&",[global])), 
    <<"BUftrack1BsOeN">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","BUf\\1BsOeN",[])), 
    <<"BUftrack1BsOeN">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","BUf\\1BsOeN",[global])), 
    <<"NpupceROgJW">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","NpupceROgJW",[caseless])), 
    <<"NpupceROgJW">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","NpupceROgJW",[caseless,
                                                                                                                                                                                                                                                                              global])), 
    <<"DxJtrack1rCNtrack1.title:TBlah blah blahKXmSNktrack1Strack1">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[t ]+(.*)","DxJ\\1rCN&KXmSNk\\1S\\1",[caseless])), 
    <<"DxJtrack1rCNtrack1.title:TBlah blah blahKXmSNktrack1Strack1">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[t ]+(.*)","DxJ\\1rCN&KXmSNk\\1S\\1",[caseless,
                                                                                                                                                                                                                                                                                                          global])), 
    <<"HHLLlESKV">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","HHLLlESKV",[])), 
    <<"HHLLlESKV">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","HHLLlESKV",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-c]+$","wLJlupvA\\1\\1kNnalxEwVh",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-c]+$","wLJlupvA\\1\\1kNnalxEwVh",[global])), 
    <<"wxy">> = iolist_to_binary(re:replace("wxy","^[W-c]+$","JvOAObw\\1pP\\1",[])), 
    <<"wxy">> = iolist_to_binary(re:replace("wxy","^[W-c]+$","JvOAObw\\1pP\\1",[global])), 
    <<"gwuwm">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","gwuwm",[caseless])), 
    <<"gwuwm">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","gwuwm",[caseless,
                                                                                                                                                                                    global])), 
    <<"wxy_^ABCxkqVcwxy_^ABCaE">> = iolist_to_binary(re:replace("wxy_^ABC","^[W-c]+$","&xk\\1qVc&aE",[caseless])), 
    <<"wxy_^ABCxkqVcwxy_^ABCaE">> = iolist_to_binary(re:replace("wxy_^ABC","^[W-c]+$","&xk\\1qVc&aE",[caseless,
                                                                                                                                                                                                     global])), 
    <<"WWXY_^abcOgKgjfsLWNy">> = iolist_to_binary(re:replace("WXY_^abc","^[\\x3f-\\x5F]+$","\\1W\\1&Og\\1Kgj\\1fsLWNy",[caseless])), 
    <<"WWXY_^abcOgKgjfsLWNy">> = iolist_to_binary(re:replace("WXY_^abc","^[\\x3f-\\x5F]+$","\\1W\\1&Og\\1Kgj\\1fsLWNy",[caseless,
                                                                                                                                                                                                                                                   global])), 
    <<"egunTysOf">> = iolist_to_binary(re:replace("wxy_^ABC","^[\\x3f-\\x5F]+$","egunT\\1\\1y\\1sOf",[caseless])), 
    <<"egunTysOf">> = iolist_to_binary(re:replace("wxy_^ABC","^[\\x3f-\\x5F]+$","egunT\\1\\1y\\1sOf",[caseless,
                                                                                                                                                                                                                                   global])), 
    <<"CPTKOdIA">> = iolist_to_binary(re:replace("abc","^abc$","CPTKOdI\\1A",[multiline])), 
    <<"CPTKOdIA">> = iolist_to_binary(re:replace("abc","^abc$","CPTKOdI\\1A",[multiline,
                                                                                                                                                                                 global])), 
    <<"qqq
bQdPqCFxabcndDcFfikPvc">> = iolist_to_binary(re:replace("qqq
abc","^abc$","bQdPqCFx&ndDcFfikPvc",[multiline])), 
    <<"qqq
bQdPqCFxabcndDcFfikPvc">> = iolist_to_binary(re:replace("qqq
abc","^abc$","bQdPqCFx&ndDcFfikPvc",[multiline,global])), 
    <<"IhabcKXoLYabce
zzz">> = iolist_to_binary(re:replace("abc
zzz","^abc$","Ih&KX\\1oLY&e",[multiline])), 
    <<"IhabcKXoLYabce
zzz">> = iolist_to_binary(re:replace("abc
zzz","^abc$","Ih&KX\\1oLY&e",[multiline,global])), 
    <<"qqq
v
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","^abc$","v",[multiline])), 
    <<"qqq
v
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","^abc$","v",[multiline,global])), 
    <<"rsDabcabcSRpKNvKVJ">> = iolist_to_binary(re:replace("abc","^abc$","rsD&&SRpKNvKVJ",[])), 
    <<"rsDabcabcSRpKNvKVJ">> = iolist_to_binary(re:replace("abc","^abc$","rsD&&SRpKNvKVJ",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","yVq",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","yVq",[global])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","^abc$","snXy",[])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","^abc$","snXy",[global])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","^abc$","&f\\1dlb\\1EAWc&",[])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","^abc$","&f\\1dlb\\1EAWc&",[global])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","^abc$","cSNFGiC",[])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","^abc$","cSNFGiC",[global])), 
    <<"lCoBH">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","lC\\1o\\1BH\\1",[multiline])), 
    <<"lCoBH">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","lC\\1o\\1BH\\1",[multiline,
                                                                                                                                                                                                  global])), 
    <<"JVdoPUmabcxTP">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","JVd\\1oP\\1Um&xTP",[multiline])), 
    <<"JVdoPUmabcxTP">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","JVd\\1oP\\1Um&xTP",[multiline,
                                                                                                                                                                                                        global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\Z","cEqLBiFmo&YRu&QCAvtf",[multiline])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\Z","cEqLBiFmo&YRu&QCAvtf",[multiline,
                                                                                                                                                                                                                             global])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","\\Aabc\\Z","kc&H\\1Pd\\1PDS",[multiline])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","\\Aabc\\Z","kc&H\\1Pd\\1PDS",[multiline,global])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","\\Aabc\\Z","XQVTFMq",[multiline])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","\\Aabc\\Z","XQVTFMq",[multiline,global])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","\\Aabc\\Z","J\\1fh",[multiline])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","\\Aabc\\Z","J\\1fh",[multiline,global])), 
    <<"o">> = iolist_to_binary(re:replace("abc
def","\\A(.)*\\Z","o",[dotall])), 
    <<"o">> = iolist_to_binary(re:replace("abc
def","\\A(.)*\\Z","o",[dotall,global])), 
    <<"*** FailersssD">> = iolist_to_binary(re:replace("*** Failers","\\A(.)*\\Z","&\\1\\1D",[multiline])), 
    <<"*** FailersssD">> = iolist_to_binary(re:replace("*** Failers","\\A(.)*\\Z","&\\1\\1D",[multiline,
                                                                                                                                                                                                        global])), 
    <<"abc
def">> = iolist_to_binary(re:replace("abc
def","\\A(.)*\\Z","&FyyfdbkSw",[multiline])), 
    <<"abc
def">> = iolist_to_binary(re:replace("abc
def","\\A(.)*\\Z","&FyyfdbkSw",[multiline,global])), 
    <<"JbDSWbbCxetpbHwOmBy::c">> = iolist_to_binary(re:replace("b::c","(?:b)|(?::+)","J&DSW&bCxetp&HwOmBy",[])), 
    <<"JbDSWbbCxetpbHwOmByJ::DSW::bCxetp::HwOmByc">> = iolist_to_binary(re:replace("b::c","(?:b)|(?::+)","J&DSW&bCxetp&HwOmBy",[global])), 
    <<"cVMqgmhvamVbb">> = iolist_to_binary(re:replace("c::b","(?:b)|(?::+)","VMqgmh\\1vamVb",[])), 
    <<"cVMqgmhvamVbVMqgmhvamVb">> = iolist_to_binary(re:replace("c::b","(?:b)|(?::+)","VMqgmh\\1vamVb",[global])), 
    <<"az-Oaz-Taz-rDxaz-rN">> = iolist_to_binary(re:replace("az-","[-az]+","&O&\\1T&rDx&r\\1N",[])), 
    <<"az-Oaz-Taz-rDxaz-rN">> = iolist_to_binary(re:replace("az-","[-az]+","&O&\\1T&rDx&r\\1N",[global])), 
    <<"*** FEaJakaDTgMFYQIVaTilers">> = iolist_to_binary(re:replace("*** Failers","[-az]+","\\1E&JakaDTgMFY\\1QIV&T",[])), 
    <<"*** FEaJakaDTgMFYQIVaTilers">> = iolist_to_binary(re:replace("*** Failers","[-az]+","\\1E&JakaDTgMFY\\1QIV&T",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","[-az]+","okQx\\1K\\1KgjAExrmhx",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","[-az]+","okQx\\1K\\1KgjAExrmhx",[global])), 
    ok.
run5() ->
    <<"BUiIgkpFguybl">> = iolist_to_binary(re:replace("za-","[az-]+","BU\\1iIgkpFguybl",[])), 
    <<"BUiIgkpFguybl">> = iolist_to_binary(re:replace("za-","[az-]+","BU\\1iIgkpFguybl",[global])), 
    <<"*** FVSpIRyVilers">> = iolist_to_binary(re:replace("*** Failers","[az-]+","VSpIRyV",[])), 
    <<"*** FVSpIRyVilers">> = iolist_to_binary(re:replace("*** Failers","[az-]+","VSpIRyV",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","[az-]+","\\1rfMIWIp\\1eA\\1BK",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","[az-]+","\\1rfMIWIp\\1eA\\1BK",[global])), 
    <<"fuJua">> = iolist_to_binary(re:replace("a-z","[a\\-z]+","fuJua",[])), 
    <<"fuJua">> = iolist_to_binary(re:replace("a-z","[a\\-z]+","fuJua",[global])), 
    <<"*** Fwpjilers">> = iolist_to_binary(re:replace("*** Failers","[a\\-z]+","wpj",[])), 
    <<"*** Fwpjilers">> = iolist_to_binary(re:replace("*** Failers","[a\\-z]+","wpj",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","[a\\-z]+","nf&cDP\\1\\1Gu\\1b\\1xqHex",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","[a\\-z]+","nf&cDP\\1\\1Gu\\1b\\1xqHex",[global])), 
    <<"HabcdxyzdykWGVxyCbA">> = iolist_to_binary(re:replace("abcdxyz","[a-z]+","H&dykWGVx\\1yC\\1\\1b\\1A",[])), 
    <<"HabcdxyzdykWGVxyCbA">> = iolist_to_binary(re:replace("abcdxyz","[a-z]+","H&dykWGVx\\1yC\\1\\1b\\1A",[global])), 
    <<"Ge12-34A12-34s12-34wEDOs12-34a12-34">> = iolist_to_binary(re:replace("12-34","[\\d-]+","Ge&A&s&wED\\1Os&\\1a\\1&",[])), 
    <<"Ge12-34A12-34s12-34wEDOs12-34a12-34">> = iolist_to_binary(re:replace("12-34","[\\d-]+","Ge&A&s&wED\\1Os&\\1a\\1&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-]+","\\1GK&npQ",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-]+","\\1GK&npQ",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-]+","&&IDTvQkHC\\1klFHnC\\1",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-]+","&&IDTvQkHC\\1klFHnC\\1",[global])), 
    <<"XbYl12-34z12-34zDmCQVrbP">> = iolist_to_binary(re:replace("12-34z","[\\d-z]+","X\\1bYl&&Dm\\1CQVr\\1bP",[])), 
    <<"XbYl12-34z12-34zDmCQVrbP">> = iolist_to_binary(re:replace("12-34z","[\\d-z]+","X\\1bYl&&Dm\\1CQVr\\1bP",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-z]+","PTn&XmiYqAKkS&BW&&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-z]+","PTn&XmiYqAKkS&BW&&",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-z]+","WReIgpFjW&A",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-z]+","WReIgpFjW&A",[global])), 
    <<"VYdXtmOgjmuYAiVjA\\ ">> = iolist_to_binary(re:replace("\\ ","\\x5c","VYdXtmOgjmuYAiVjA&",[])), 
    <<"VYdXtmOgjmuYAiVjA\\ ">> = iolist_to_binary(re:replace("\\ ","\\x5c","VYdXtmOgjmuYAiVjA&",[global])), 
    <<"theiljDu ZIwQuwEoo">> = iolist_to_binary(re:replace("the Zoo","\\x20Z","iljDu&Iw\\1Q\\1uwE\\1",[])), 
    <<"theiljDu ZIwQuwEoo">> = iolist_to_binary(re:replace("the Zoo","\\x20Z","iljDu&Iw\\1Q\\1uwE\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\x20Z","\\1ojkRRJFT\\1hV\\1xv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\x20Z","\\1ojkRRJFT\\1hV\\1xv",[global])), 
    <<"Zulu">> = iolist_to_binary(re:replace("Zulu","\\x20Z","uaSyVYwn",[])), 
    <<"Zulu">> = iolist_to_binary(re:replace("Zulu","\\x20Z","uaSyVYwn",[global])), 
    <<"h">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","h",[caseless])), 
    <<"h">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","h",[caseless,
                                                                                                                                                                        global])), 
    <<"yvNMtIABClHrnq">> = iolist_to_binary(re:replace("ABCabc","(abc)\\1","yvNMtI\\1lHrnq",[caseless])), 
    <<"yvNMtIABClHrnq">> = iolist_to_binary(re:replace("ABCabc","(abc)\\1","yvNMtI\\1lHrnq",[caseless,
                                                                                                                                                                                                   global])), 
    <<"TVabcABCGmabcJabcABCKIEp">> = iolist_to_binary(re:replace("abcABC","(abc)\\1","TV&Gm\\1J&KIEp",[caseless])), 
    <<"TVabcABCGmabcJabcABCKIEp">> = iolist_to_binary(re:replace("abcABC","(abc)\\1","TV&Gm\\1J&KIEp",[caseless,
                                                                                                                                                                                                     global])), 
    <<"nuHYndp">> = iolist_to_binary(re:replace("ab{3cd","ab{3cd","nuHYndp",[])), 
    <<"nuHYndp">> = iolist_to_binary(re:replace("ab{3cd","ab{3cd","nuHYndp",[global])), 
    <<"yab{3,cdohtmab{3,cdhlKJyab{3,cdx">> = iolist_to_binary(re:replace("ab{3,cd","ab{3,cd","y&ohtm&\\1hlKJy&x",[])), 
    <<"yab{3,cdohtmab{3,cdhlKJyab{3,cdx">> = iolist_to_binary(re:replace("ab{3,cd","ab{3,cd","y&ohtm&\\1hlKJy&x",[global])), 
    <<"EmVUOVQKbyOvWq">> = iolist_to_binary(re:replace("ab{3,4a}cd","ab{3,4a}cd","EmV\\1UO\\1VQKbyO\\1vW\\1q",[])), 
    <<"EmVUOVQKbyOvWq">> = iolist_to_binary(re:replace("ab{3,4a}cd","ab{3,4a}cd","EmV\\1UO\\1VQKbyO\\1vW\\1q",[global])), 
    <<"DsOhHFoWiLok{4,5a}bcVgG">> = iolist_to_binary(re:replace("{4,5a}bc","{4,5a}bc","DsOhH\\1FoWiLok&V\\1gG",[])), 
    <<"DsOhHFoWiLok{4,5a}bcVgG">> = iolist_to_binary(re:replace("{4,5a}bc","{4,5a}bc","DsOhH\\1FoWiLok&V\\1gG",[global])), 
    <<"iWchabcX">> = iolist_to_binary(re:replace("abc","abc$","iW\\1ch&X",[])), 
    <<"iWchabcX">> = iolist_to_binary(re:replace("abc","abc$","iW\\1ch&X",[global])), 
    <<"plBoHLBabcb">> = iolist_to_binary(re:replace("abc","abc$","plBoHLB&b",[])), 
    <<"plBoHLBabcb">> = iolist_to_binary(re:replace("abc","abc$","plBoHLB&b",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","EM",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","EM",[global])), 
    <<"abc
def">> = iolist_to_binary(re:replace("abc
def","abc$","\\1aguwNOw&Q&p&",[])), 
    <<"abc
def">> = iolist_to_binary(re:replace("abc
def","abc$","\\1aguwNOw&Q&p&",[global])), 
    <<"abcSuqabcSwabcabcSabcsxWGOk">> = iolist_to_binary(re:replace("abcS","(abc)\\123","&uq&w\\1&\\1sxWGOk",[])), 
    <<"abcSuqabcSwabcabcSabcsxWGOk">> = iolist_to_binary(re:replace("abcS","(abc)\\123","&uq&w\\1&\\1sxWGOk",[global])), 
    <<"dMwabc“Xqyabc“abc“i">> = iolist_to_binary(re:replace("abc“","(abc)\\223","dMw&Xqy&&i",[])), 
    <<"dMwabc“Xqyabc“abc“i">> = iolist_to_binary(re:replace("abc“","(abc)\\223","dMw&Xqy&&i",[global])), 
    <<"MiqonlGabcÓYdXabcf">> = iolist_to_binary(re:replace("abcÓ","(abc)\\323","MiqonlG&YdX\\1f",[])), 
    <<"MiqonlGabcÓYdXabcf">> = iolist_to_binary(re:replace("abcÓ","(abc)\\323","MiqonlG&YdX\\1f",[global])), 
    <<"mTlabc@bdhBATwW">> = iolist_to_binary(re:replace("abc@","(abc)\\100","mTl&bdhBATwW",[])), 
    <<"mTlabc@bdhBATwW">> = iolist_to_binary(re:replace("abc@","(abc)\\100","mTl&bdhBATwW",[global])), 
    <<"QabcRSbUabc@Rabc@abc@fabckabcWabc">> = iolist_to_binary(re:replace("abc@","(abc)\\100","Q\\1RSbU&R&&f\\1k\\1W\\1",[])), 
    <<"QabcRSbUabc@Rabc@abc@fabckabcWabc">> = iolist_to_binary(re:replace("abc@","(abc)\\100","Q\\1RSbU&R&&f\\1k\\1W\\1",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","LCsN",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","LCsN",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","cotASR\\1IJoJ\\1r\\1k",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","cotASR\\1IJoJ\\1r\\1k",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","&",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","&",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","gUfvqdMO&FeVgh&\\1K",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","gUfvqdMO&FeVgh&\\1K",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","foMAR\\1CWg&y&dngF&EL\\1",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","foMAR\\1CWg&y&dngF&EL\\1",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","\\1muHsU&g",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","\\1muHsU&g",[global])), 
    <<"AABCDEFGHIHIwisSqVPABCDEFGHIHIfM">> = iolist_to_binary(re:replace("ABCDEFGHIHI","^(A)(B)(C)(D)(E)(F)(G)(H)(I)\\8\\9$","\\1&wisSqVP&fM",[])), 
    <<"AABCDEFGHIHIwisSqVPABCDEFGHIHIfM">> = iolist_to_binary(re:replace("ABCDEFGHIHI","^(A)(B)(C)(D)(E)(F)(G)(H)(I)\\8\\9$","\\1&wisSqVP&fM",[global])), 
    ok.
run6() ->
    <<"ntA8B9CNSA8B9CLRL">> = iolist_to_binary(re:replace("A8B9C","^[A\\8B\\9C]+$","nt\\1&NS\\1&LRL",[])), 
    <<"ntA8B9CNSA8B9CLRL">> = iolist_to_binary(re:replace("A8B9C","^[A\\8B\\9C]+$","nt\\1&NS\\1&LRL",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[A\\8B\\9C]+$","YwqNG",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[A\\8B\\9C]+$","YwqNG",[global])), 
    <<"k">> = iolist_to_binary(re:replace("A8B9C","^[A\\8B\\9C]+$","k",[])), 
    <<"k">> = iolist_to_binary(re:replace("A8B9C","^[A\\8B\\9C]+$","k",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"abcdefghijk
SDuSaDcpmCspdNx">> = iolist_to_binary(re:replace("abcdefghijk
S","(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\12\\123","&DuSaDcpmCspdNx",[])), 
    <<"abcdefghijk
SDuSaDcpmCspdNx">> = iolist_to_binary(re:replace("abcdefghijk
S","(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\12\\123","&DuSaDcpmCspdNx",[global])), 
    <<"abidefabidefvPJabidefabidefVKxVnKE">> = iolist_to_binary(re:replace("abidef","ab\\idef","\\1&&vPJ&&VKxVnKE",[])), 
    <<"abidefabidefvPJabidefabidefVKxVnKE">> = iolist_to_binary(re:replace("abidef","ab\\idef","\\1&&vPJ&&VKxVnKE",[global])), 
    <<"gkpETbcFhESR">> = iolist_to_binary(re:replace("bc","a{0}bc","gkpET&F\\1hESR",[])), 
    <<"gkpETbcFhESR">> = iolist_to_binary(re:replace("bc","a{0}bc","gkpET&F\\1hESR",[global])), 
    <<"wpngtyXvInxyzIb">> = iolist_to_binary(re:replace("xyz","(a|(bc)){0,0}?xyz","wpngtyXvIn&Ib",[])), 
    <<"wpngtyXvInxyzIb">> = iolist_to_binary(re:replace("xyz","(a|(bc)){0,0}?xyz","wpngtyXvIn&Ib",[global])), 
    <<"CdxabcdeJtWN">> = iolist_to_binary(re:replace("abcde","abc[\\10]de","Cdx\\1&JtWN",[])), 
    <<"CdxabcdeJtWN">> = iolist_to_binary(re:replace("abcde","abc[\\10]de","Cdx\\1&JtWN",[global])), 
    <<"nXabcdeLWqofabcdeabcdeM">> = iolist_to_binary(re:replace("abcde","abc[\\1]de","nX&LWqof&&M",[])), 
    <<"nXabcdeLWqofabcdeabcdeM">> = iolist_to_binary(re:replace("abcde","abc[\\1]de","nX&LWqof&&M",[global])), 
    <<"cxVabcdeXabcdeUabcdeabcdeabcIT">> = iolist_to_binary(re:replace("abcde","(abc)[\\1]de","cxV&X&U&&\\1IT",[])), 
    <<"cxVabcdeXabcdeUabcdeabcdeabcIT">> = iolist_to_binary(re:replace("abcde","(abc)[\\1]de","cxV&X&U&&\\1IT",[global])), 
    <<"nDa
bOua
bEE">> = iolist_to_binary(re:replace("a
b","(?s)a.b","nD&Ou&EE",[])), 
    <<"nDa
bOua
bEE">> = iolist_to_binary(re:replace("a
b","(?s)a.b","nD&Ou&EE",[global])), 
    <<"ytBjWJbyKhvRd">> = iolist_to_binary(re:replace("baNOTccccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","ytBjWJ\\1yKhvR",[])), 
    <<"ytBjWJbyKhvRd">> = iolist_to_binary(re:replace("baNOTccccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","ytBjWJ\\1yKhvR",[global])), 
    <<"rKbaNOTcccNsPd">> = iolist_to_binary(re:replace("baNOTcccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","rK&NsP",[])), 
    <<"rKbaNOTcccNsPd">> = iolist_to_binary(re:replace("baNOTcccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","rK&NsP",[global])), 
    <<"ADtLINvwgrd">> = iolist_to_binary(re:replace("baNOTccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","ADtLINvwgr",[])), 
    <<"ADtLINvwgrd">> = iolist_to_binary(re:replace("baNOTccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","ADtLINvwgr",[global])), 
    <<"XbbLidrbacccJbacccbQdd">> = iolist_to_binary(re:replace("bacccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","X\\1\\1Lidr&J&\\1Qd",[])), 
    <<"XbbLidrbacccJbacccbQdd">> = iolist_to_binary(re:replace("bacccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","X\\1\\1Lidr&J&\\1Qd",[global])), 
    <<"QAX">> = iolist_to_binary(re:replace("*** Failers","^([^a])([^\\b])([^c]*)([^d]{3,4})","QAX",[])), 
    <<"QAX">> = iolist_to_binary(re:replace("*** Failers","^([^a])([^\\b])([^c]*)([^d]{3,4})","QAX",[global])), 
    <<"anything">> = iolist_to_binary(re:replace("anything","^([^a])([^\\b])([^c]*)([^d]{3,4})","\\1nMgDDeE&j\\1IL",[])), 
    <<"anything">> = iolist_to_binary(re:replace("anything","^([^a])([^\\b])([^c]*)([^d]{3,4})","\\1nMgDDeE&j\\1IL",[global])), 
    <<"bc">> = iolist_to_binary(re:replace("bc","^([^a])([^\\b])([^c]*)([^d]{3,4})","WSh\\1fvByAl&",[])), 
    <<"bc">> = iolist_to_binary(re:replace("bc","^([^a])([^\\b])([^c]*)([^d]{3,4})","WSh\\1fvByAl&",[global])), 
    <<"baccd">> = iolist_to_binary(re:replace("baccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","BQkU&N&sI\\1M&Aaxu",[])), 
    <<"baccd">> = iolist_to_binary(re:replace("baccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","BQkU&N&sI\\1M&Aaxu",[global])), 
    <<"AyfrxEdFbc">> = iolist_to_binary(re:replace("Abc","[^a]","&yfrxEdF",[])), 
    <<"AyfrxEdFbyfrxEdFcyfrxEdF">> = iolist_to_binary(re:replace("Abc","[^a]","&yfrxEdF",[global])), 
    <<"AOuc">> = iolist_to_binary(re:replace("Abc","[^a]","Ou",[caseless])), 
    <<"AOuOu">> = iolist_to_binary(re:replace("Abc","[^a]","Ou",[caseless,
                                                                                                                                                           global])), 
    <<"AAAqCQCkBIVIMNQHYaAbc">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","&qCQCkBIVIMN\\1QHY",[])), 
    <<"AAAqCQCkBIVIMNQHYaAbcqCQCkBIVIMNQHY">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","&qCQCkBIVIMN\\1QHY",[global])), 
    <<"AAAaABepbcHkVKbcFjuIYfIMUy">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","Bep&HkVK&FjuIYfIMUy",[caseless])), 
    <<"AAAaABepbcHkVKbcFjuIYfIMUy">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","Bep&HkVK&FjuIYfIMUy",[caseless,
                                                                                                                                                                                                         global])), 
    <<"VUQibbb
cccJFuaTHwoAPgw">> = iolist_to_binary(re:replace("bbb
ccc","[^a]+","VUQi&\\1\\1JFuaTHwoAPgw",[])), 
    <<"VUQibbb
cccJFuaTHwoAPgw">> = iolist_to_binary(re:replace("bbb
ccc","[^a]+","VUQi&\\1\\1JFuaTHwoAPgw",[global])), 
    <<"abwR">> = iolist_to_binary(re:replace("abc","[^k]$","wR",[])), 
    <<"abwR">> = iolist_to_binary(re:replace("abc","[^k]$","wR",[global])), 
    <<"*** FailerrJBXyKAos">> = iolist_to_binary(re:replace("*** Failers","[^k]$","rJBXyKAo\\1&",[])), 
    <<"*** FailerrJBXyKAos">> = iolist_to_binary(re:replace("*** Failers","[^k]$","rJBXyKAo\\1&",[global])), 
    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]$","\\1tMfh\\1rw&&X&",[])), 
    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]$","\\1tMfh\\1rw&&X&",[global])), 
    <<"BabcMabcBstTttabcC">> = iolist_to_binary(re:replace("abc","[^k]{2,3}$","B&M\\1&B\\1stTtt&C",[])), 
    <<"BabcMabcBstTttabcC">> = iolist_to_binary(re:replace("abc","[^k]{2,3}$","B&M\\1&B\\1stTtt&C",[global])), 
    <<"kGmnpTVRbbcthURLl">> = iolist_to_binary(re:replace("kbc","[^k]{2,3}$","Gmnp\\1TVRb&thURLl",[])), 
    <<"kGmnpTVRbbcthURLl">> = iolist_to_binary(re:replace("kbc","[^k]{2,3}$","Gmnp\\1TVRb&thURLl",[global])), 
    <<"kSwSBmFSuyEabcic">> = iolist_to_binary(re:replace("kabc","[^k]{2,3}$","SwSBmFSu\\1yE&ic",[])), 
    <<"kSwSBmFSuyEabcic">> = iolist_to_binary(re:replace("kabc","[^k]{2,3}$","SwSBmFSu\\1yE&ic",[global])), 
    <<"*** FailmVk">> = iolist_to_binary(re:replace("*** Failers","[^k]{2,3}$","mVk\\1",[])), 
    <<"*** FailmVk">> = iolist_to_binary(re:replace("*** Failers","[^k]{2,3}$","mVk\\1",[global])), 
    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]{2,3}$","f",[])), 
    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]{2,3}$","f",[global])), 
    <<"akb">> = iolist_to_binary(re:replace("akb","[^k]{2,3}$","XISfG\\1L&Yg",[])), 
    <<"akb">> = iolist_to_binary(re:replace("akb","[^k]{2,3}$","XISfG\\1L&Yg",[global])), 
    <<"akk">> = iolist_to_binary(re:replace("akk","[^k]{2,3}$","JnS\\1Snscc\\1\\1WP\\1\\1",[])), 
    <<"akk">> = iolist_to_binary(re:replace("akk","[^k]{2,3}$","JnS\\1Snscc\\1\\1WP\\1\\1",[global])), 
    <<"12345678.b.c.d">> = iolist_to_binary(re:replace("12345678.b.c.d","^\\d{8,}\\@.+[^k]$","uF&rXNLErr\\1yUY",[])), 
    <<"12345678.b.c.d">> = iolist_to_binary(re:replace("12345678.b.c.d","^\\d{8,}\\@.+[^k]$","uF&rXNLErr\\1yUY",[global])), 
    <<"123456789.y.z">> = iolist_to_binary(re:replace("123456789.y.z","^\\d{8,}\\@.+[^k]$","YFlP&",[])), 
    <<"123456789.y.z">> = iolist_to_binary(re:replace("123456789.y.z","^\\d{8,}\\@.+[^k]$","YFlP&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8,}\\@.+[^k]$","twTFob&o&kbYfyf&N",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8,}\\@.+[^k]$","twTFob&o&kbYfyf&N",[global])), 
    <<"12345678.y.uk">> = iolist_to_binary(re:replace("12345678.y.uk","^\\d{8,}\\@.+[^k]$","iN&UAvL",[])), 
    <<"12345678.y.uk">> = iolist_to_binary(re:replace("12345678.y.uk","^\\d{8,}\\@.+[^k]$","iN&UAvL",[global])), 
    <<"1234567.b.c.d">> = iolist_to_binary(re:replace("1234567.b.c.d","^\\d{8,}\\@.+[^k]$","r&h\\1PJBc&xhdRAd&",[])), 
    <<"1234567.b.c.d">> = iolist_to_binary(re:replace("1234567.b.c.d","^\\d{8,}\\@.+[^k]$","r&h\\1PJBc&xhdRAd&",[global])), 
    <<"JUaaaaaaaaaakaaaaaaaaaaJByoSTnBssaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","(a)\\1{8,}","JUa&k\\1&JByoSTnBss&",[])), 
    <<"JUaaaaaaaaaakaaaaaaaaaaJByoSTnBssaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","(a)\\1{8,}","JUa&k\\1&JByoSTnBss&",[global])), 
    <<"haoaaaaaaaaaacp">> = iolist_to_binary(re:replace("aaaaaaaaaa","(a)\\1{8,}","hao&cp",[])), 
    <<"haoaaaaaaaaaacp">> = iolist_to_binary(re:replace("aaaaaaaaaa","(a)\\1{8,}","hao&cp",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a)\\1{8,}","Ns",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a)\\1{8,}","Ns",[global])), 
    <<"aaaaaaa">> = iolist_to_binary(re:replace("aaaaaaa","(a)\\1{8,}","Ye\\1kfvX&&crmMcd",[])), 
    <<"aaaaaaa">> = iolist_to_binary(re:replace("aaaaaaa","(a)\\1{8,}","Ye\\1kfvX&&crmMcd",[global])), 
    ok.
run7() ->
    <<"aaaaltSVkYwcd">> = iolist_to_binary(re:replace("aaaabcd","[^a]","ltSVkYw\\1",[])), 
    <<"aaaaltSVkYwltSVkYwltSVkYw">> = iolist_to_binary(re:replace("aaaabcd","[^a]","ltSVkYw\\1",[global])), 
    <<"aasDabcd">> = iolist_to_binary(re:replace("aaAabcd","[^a]","sD",[])), 
    <<"aasDasDsDsD">> = iolist_to_binary(re:replace("aaAabcd","[^a]","sD",[global])), 
    <<"aaaaRlocpcd">> = iolist_to_binary(re:replace("aaaabcd","[^a]","Rlocp",[caseless])), 
    <<"aaaaRlocpRlocpRlocp">> = iolist_to_binary(re:replace("aaaabcd","[^a]","Rlocp",[caseless,
                                                                                                                                                                         global])), 
    <<"aaAakvpCtRfJcd">> = iolist_to_binary(re:replace("aaAabcd","[^a]","kvpCtRfJ",[caseless])), 
    <<"aaAakvpCtRfJkvpCtRfJkvpCtRfJ">> = iolist_to_binary(re:replace("aaAabcd","[^a]","kvpCtRfJ",[caseless,
                                                                                                                                                                               global])), 
    <<"aaaaHKcd">> = iolist_to_binary(re:replace("aaaabcd","[^az]","HK",[])), 
    <<"aaaaHKHKHK">> = iolist_to_binary(re:replace("aaaabcd","[^az]","HK",[global])), 
    <<"aaGTgGQtMuEWBAASqhabcd">> = iolist_to_binary(re:replace("aaAabcd","[^az]","GTgGQtMuEWB&&Sqh",[])), 
    <<"aaGTgGQtMuEWBAASqhaGTgGQtMuEWBbbSqhGTgGQtMuEWBccSqhGTgGQtMuEWBddSqh">> = iolist_to_binary(re:replace("aaAabcd","[^az]","GTgGQtMuEWB&&Sqh",[global])), 
    <<"aaaaJbKddOBcd">> = iolist_to_binary(re:replace("aaaabcd","[^az]","\\1J&KddOB",[caseless])), 
    <<"aaaaJbKddOBJcKddOBJdKddOB">> = iolist_to_binary(re:replace("aaaabcd","[^az]","\\1J&KddOB",[caseless,
                                                                                                                                                                                       global])), 
    <<"aaAasOBrbksjdVYVcd">> = iolist_to_binary(re:replace("aaAabcd","[^az]","sO\\1Br&ksjdVYV",[caseless])), 
    <<"aaAasOBrbksjdVYVsOBrcksjdVYVsOBrdksjdVYV">> = iolist_to_binary(re:replace("aaAabcd","[^az]","sO\\1Br&ksjdVYV",[caseless,
                                                                                                                                                                                                 global])), 
    <<"xxxxxxxxxxxIWxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,6}?LL","IW",[])), 
    <<"xxxxxxxxxxxIWxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,6}?LL","IW",[global])), 
    <<"xxxxxxxxxxxguMkfUyxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,}?LL","\\1guMkfU\\1y",[])), 
    <<"xxxxxxxxxxxguMkfUyxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,}?LL","\\1guMkfU\\1y",[global])), 
    <<"1ELdCrl.23X.230003938">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d[1-9]?)\\d+","ELdCrl\\1X&",[])), 
    <<"1ELdCrl.23X.230003938">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d[1-9]?)\\d+","ELdCrl\\1X&",[global])), 
    <<"1bq">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d[1-9]?)\\d+","bq",[])), 
    <<"1bq">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d[1-9]?)\\d+","bq",[global])), 
    <<"1ODL">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d[1-9]?)\\d+","ODL",[])), 
    <<"1ODL">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d[1-9]?)\\d+","ODL",[global])), 
    <<"1ncD0003938">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d((?=0)|\\d(?=\\d)))","ncD",[])), 
    <<"1ncD0003938">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d((?=0)|\\d(?=\\d)))","ncD",[global])), 
    <<"1qgBuDW.875yC000282">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d((?=0)|\\d(?=\\d)))","qgBuDW\\1yC",[])), 
    <<"1qgBuDW.875yC000282">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d((?=0)|\\d(?=\\d)))","qgBuDW\\1yC",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\.\\d\\d((?=0)|\\d(?=\\d)))","X&Y",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\.\\d\\d((?=0)|\\d(?=\\d)))","X&Y",[global])), 
    <<"1.235">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d((?=0)|\\d(?=\\d)))","\\1luUxXVR&J\\1&\\1",[])), 
    <<"1.235">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d((?=0)|\\d(?=\\d)))","\\1luUxXVR&J\\1&\\1",[global])), 
    <<"Qko">> = iolist_to_binary(re:replace("ab","a(?)b","\\1Qko",[])), 
    <<"Qko">> = iolist_to_binary(re:replace("ab","a(?)b","\\1Qko",[global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                                       global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"HHotxYrI have 2 numbers: 53147MmBIIeE">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d*)","HHotxYr&MmBIIeE",[])), 
    <<"HHotxYrI have 2 numbers: 53147MmBIIeEHHotxYrMmBIIeE">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d*)","HHotxYr&MmBIIeE",[global])), 
    <<"qDOVI have 2 numbers: 53147omApQI have 2 numbers: 5314sBev">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d+)","qDOV&omApQ\\1sBev",[])), 
    <<"qDOVI have 2 numbers: 53147omApQI have 2 numbers: 5314sBev">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d+)","qDOV&omApQ\\1sBev",[global])), 
    <<"RvAXeRffNRsnI have 2 numbers: 53147">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d*)","Rv&AXeR&f&fNRsn&",[])), 
    <<"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])), 
    <<"TOVi numbers: 53147">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)","TOVi",[])), 
    <<"TOViTOVi">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)","TOVi",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"uMVspI have 2 numbers: 53147VVs">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)$","uMVsp&VVs",[])), 
    <<"uMVspI have 2 numbers: 53147VVs">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)$","uMVsp&VVs",[global])), 
    <<"exxLI have 2 numbers: 53147KHfPaoE">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)\\b(\\d+)$","exxL&KHfPaoE",[])), 
    <<"exxLI have 2 numbers: 53147KHfPaoE">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)\\b(\\d+)$","exxL&KHfPaoE",[global])), 
    ok.
run8() ->
    <<"GI have 2 numbers: 53147wBxahbWqKI have 2 numbers: 53147">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*\\D)(\\d+)$","G&wBxahbWqK&",[])), 
    <<"GI have 2 numbers: 53147wBxahbWqKI have 2 numbers: 53147">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*\\D)(\\d+)$","G&wBxahbWqK&",[global])), 
    <<"ooXOkmSKHJC123">> = iolist_to_binary(re:replace("ABC123","^\\D*(?!123)","ooXOkm\\1SKHJ",[])), 
    <<"ooXOkmSKHJC123">> = iolist_to_binary(re:replace("ABC123","^\\D*(?!123)","ooXOkm\\1SKHJ",[global])), 
    <<"SABCIvPvMFj445">> = iolist_to_binary(re:replace("ABC445","^(\\D*)(?=\\d)(?!123)","S\\1IvPvMFj",[])), 
    <<"SABCIvPvMFj445">> = iolist_to_binary(re:replace("ABC445","^(\\D*)(?=\\d)(?!123)","S\\1IvPvMFj",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","AUFFK&dgWBBmewQfx&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","AUFFK&dgWBBmewQfx&",[global])), 
    <<"ABC123">> = iolist_to_binary(re:replace("ABC123","^(\\D*)(?=\\d)(?!123)","MHrweJqRiSN&vMX",[])), 
    <<"ABC123">> = iolist_to_binary(re:replace("ABC123","^(\\D*)(?=\\d)(?!123)","MHrweJqRiSN&vMX",[global])), 
    <<"dykX789">> = iolist_to_binary(re:replace("W46]789","^[W-]46]","dyk\\1X",[])), 
    <<"dykX789">> = iolist_to_binary(re:replace("W46]789","^[W-]46]","dyk\\1X",[global])), 
    <<"-46]-46]rksdKohP789">> = iolist_to_binary(re:replace("-46]789","^[W-]46]","&&rksdKohP",[])), 
    <<"-46]-46]rksdKohP789">> = iolist_to_binary(re:replace("-46]789","^[W-]46]","&&rksdKohP",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-]46]","kRw",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-]46]","kRw",[global])), 
    <<"Wall">> = iolist_to_binary(re:replace("Wall","^[W-]46]","abc&\\1NpH\\1&iHWAa&",[])), 
    <<"Wall">> = iolist_to_binary(re:replace("Wall","^[W-]46]","abc&\\1NpH\\1&iHWAa&",[global])), 
    <<"Zebra">> = iolist_to_binary(re:replace("Zebra","^[W-]46]","g",[])), 
    <<"Zebra">> = iolist_to_binary(re:replace("Zebra","^[W-]46]","g",[global])), 
    <<"42">> = iolist_to_binary(re:replace("42","^[W-]46]","Uj",[])), 
    <<"42">> = iolist_to_binary(re:replace("42","^[W-]46]","Uj",[global])), 
    <<"[abcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-]46]","lIXi\\1\\1GIq",[])), 
    <<"[abcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-]46]","lIXi\\1\\1GIq",[global])), 
    <<"]abcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-]46]","ALpo\\1E\\1X\\1Acu&",[])), 
    <<"]abcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-]46]","ALpo\\1E\\1X\\1Acu&",[global])), 
    <<"ltduUrjtoW46]789">> = iolist_to_binary(re:replace("W46]789","^[W-\\]46]","ltduU\\1rj\\1to&",[])), 
    <<"ltduUrjtoW46]789">> = iolist_to_binary(re:replace("W46]789","^[W-\\]46]","ltduU\\1rj\\1to&",[global])), 
    <<"HeHall">> = iolist_to_binary(re:replace("Wall","^[W-\\]46]","H\\1eH",[])), 
    <<"HeHall">> = iolist_to_binary(re:replace("Wall","^[W-\\]46]","H\\1eH",[global])), 
    <<"uebra">> = iolist_to_binary(re:replace("Zebra","^[W-\\]46]","u",[])), 
    <<"uebra">> = iolist_to_binary(re:replace("Zebra","^[W-\\]46]","u",[global])), 
    <<"ysQfXpOVCXaylophone">> = iolist_to_binary(re:replace("Xylophone","^[W-\\]46]","ysQf\\1&pO\\1VC&a",[])), 
    <<"ysQfXpOVCXaylophone">> = iolist_to_binary(re:replace("Xylophone","^[W-\\]46]","ysQf\\1&pO\\1VC&a",[global])), 
    <<"BX4UMd4MBxorPoSKMb2">> = iolist_to_binary(re:replace("42","^[W-\\]46]","\\1BX&UMd&MBxorPoSK\\1Mb",[])), 
    <<"BX4UMd4MBxorPoSKMb2">> = iolist_to_binary(re:replace("42","^[W-\\]46]","\\1BX&UMd&MBxorPoSK\\1Mb",[global])), 
    <<"S[abcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-\\]46]","\\1S&",[])), 
    <<"S[abcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-\\]46]","\\1S&",[global])), 
    <<"XKhbeUQxIlabcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-\\]46]","X\\1K\\1hb\\1e\\1\\1UQxIl",[])), 
    <<"XKhbeUQxIlabcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-\\]46]","X\\1K\\1hb\\1e\\1\\1UQxIl",[global])), 
    <<"dXqbackslash">> = iolist_to_binary(re:replace("\\backslash","^[W-\\]46]","\\1dXq",[])), 
    <<"dXqbackslash">> = iolist_to_binary(re:replace("\\backslash","^[W-\\]46]","\\1dXq",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-\\]46]","HOyNFM\\1mIhSgQdQ&K\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-\\]46]","HOyNFM\\1mIhSgQdQ&K\\1",[global])), 
    <<"-46]789">> = iolist_to_binary(re:replace("-46]789","^[W-\\]46]","rh&&Of\\1hH",[])), 
    <<"-46]789">> = iolist_to_binary(re:replace("-46]789","^[W-\\]46]","rh&&Of\\1hH",[global])), 
    <<"well">> = iolist_to_binary(re:replace("well","^[W-\\]46]","cbWVIYcxbQg\\1",[])), 
    <<"well">> = iolist_to_binary(re:replace("well","^[W-\\]46]","cbWVIYcxbQg\\1",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"KqTqEDmbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,0}","KqTqEDm",[])), 
    <<"KqTqEDmbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,0}","KqTqEDm",[global])), 
    <<"ioXlXnsoNabc">> = iolist_to_binary(re:replace("abc","^(a){0,0}","&ioXlXns&oN\\1",[])), 
    <<"ioXlXnsoNabc">> = iolist_to_binary(re:replace("abc","^(a){0,0}","&ioXlXns&oN\\1",[global])), 
    <<"kwaab">> = iolist_to_binary(re:replace("aab","^(a){0,0}","kw",[])), 
    <<"kwaab">> = iolist_to_binary(re:replace("aab","^(a){0,0}","kw",[global])), 
    <<"UcTyIixbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,1}","Uc&TyI&ix",[])), 
    <<"UcTyIixbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,1}","Uc&TyI&ix",[global])), 
    <<"mIikbc">> = iolist_to_binary(re:replace("abc","^(a){0,1}","mIik",[])), 
    <<"mIikbc">> = iolist_to_binary(re:replace("abc","^(a){0,1}","mIik",[global])), 
    <<"dqceagxefBaadIOab">> = iolist_to_binary(re:replace("aab","^(a){0,1}","dqce&gxefB\\1\\1dIO",[])), 
    <<"dqceagxefBaadIOab">> = iolist_to_binary(re:replace("aab","^(a){0,1}","dqce&gxefB\\1\\1dIO",[global])), 
    <<"wLwgjiEJTwmbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,2}","w&L&wg&ji&EJTwm",[])), 
    <<"wLwgjiEJTwmbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,2}","w&L&wg&ji&EJTwm",[global])), 
    <<"YaanaRwaEjbc">> = iolist_to_binary(re:replace("abc","^(a){0,2}","Y&&n\\1Rw\\1Ej",[])), 
    <<"YaanaRwaEjbc">> = iolist_to_binary(re:replace("abc","^(a){0,2}","Y&&n\\1Rw\\1Ej",[global])), 
    <<"xXpYPTdeIaeCaaamaIb">> = iolist_to_binary(re:replace("aab","^(a){0,2}","xXpYPTdeI\\1eC&\\1maI",[])), 
    <<"xXpYPTdeIaeCaaamaIb">> = iolist_to_binary(re:replace("aab","^(a){0,2}","xXpYPTdeI\\1eC&\\1maI",[global])), 
    <<"rbRgYffbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,3}","rbRgYff",[])), 
    <<"rbRgYffbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,3}","rbRgYff",[global])), 
    <<"qFVJLbc">> = iolist_to_binary(re:replace("abc","^(a){0,3}","qFVJL",[])), 
    <<"qFVJLbc">> = iolist_to_binary(re:replace("abc","^(a){0,3}","qFVJL",[global])), 
    <<"QtqBOxb">> = iolist_to_binary(re:replace("aab","^(a){0,3}","QtqBOx",[])), 
    <<"QtqBOxb">> = iolist_to_binary(re:replace("aab","^(a){0,3}","QtqBOx",[global])), 
    <<"tXNokRjRKvXaaaIaaaaWSIA">> = iolist_to_binary(re:replace("aaa","^(a){0,3}","tXNokRjRKvX&I\\1&WSIA",[])), 
    <<"tXNokRjRKvXaaaIaaaaWSIA">> = iolist_to_binary(re:replace("aaa","^(a){0,3}","tXNokRjRKvX&I\\1&WSIA",[global])), 
    <<"eopBsGmBubcd">> = iolist_to_binary(re:replace("bcd","^(a){0,}","eopBsGmB&u\\1",[])), 
    <<"eopBsGmBubcd">> = iolist_to_binary(re:replace("bcd","^(a){0,}","eopBsGmB&u\\1",[global])), 
    <<"XGaKIdSoshwbLyuUaEbc">> = iolist_to_binary(re:replace("abc","^(a){0,}","XG&KIdSoshwbLyuU&E",[])), 
    <<"XGaKIdSoshwbLyuUaEbc">> = iolist_to_binary(re:replace("abc","^(a){0,}","XG&KIdSoshwbLyuU&E",[global])), 
    <<"QVBStnKyKwiFaarwKKaKtb">> = iolist_to_binary(re:replace("aab","^(a){0,}","QVBStnKyKwiF&rwKK\\1Kt",[])), 
    <<"QVBStnKyKwiFaarwKKaKtb">> = iolist_to_binary(re:replace("aab","^(a){0,}","QVBStnKyKwiF&rwKK\\1Kt",[global])), 
    <<"aaafFGmLJOyaxg">> = iolist_to_binary(re:replace("aaa","^(a){0,}","&fFGmLJOy\\1xg",[])), 
    <<"aaafFGmLJOyaxg">> = iolist_to_binary(re:replace("aaa","^(a){0,}","&fFGmLJOy\\1xg",[global])), 
    <<"vvdaSSUIVja">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){0,}","vvd\\1SSUIVj\\1",[])), 
    <<"vvdaSSUIVja">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){0,}","vvd\\1SSUIVj\\1",[global])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,1}","\\1cU",[])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,1}","\\1cU",[global])), 
    <<"aXagESUEcdbc">> = iolist_to_binary(re:replace("abc","^(a){1,1}","\\1X&gESUEcd",[])), 
    <<"aXagESUEcdbc">> = iolist_to_binary(re:replace("abc","^(a){1,1}","\\1X&gESUEcd",[global])), 
    <<"XMYab">> = iolist_to_binary(re:replace("aab","^(a){1,1}","XMY",[])), 
    <<"XMYab">> = iolist_to_binary(re:replace("aab","^(a){1,1}","XMY",[global])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,2}","tGJ&&",[])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,2}","tGJ&&",[global])), 
    <<"aduQQOassaHGbc">> = iolist_to_binary(re:replace("abc","^(a){1,2}","\\1duQQO&ss\\1HG",[])), 
    <<"aduQQOassaHGbc">> = iolist_to_binary(re:replace("abc","^(a){1,2}","\\1duQQO&ss\\1HG",[global])), 
    <<"acmBfjb">> = iolist_to_binary(re:replace("aab","^(a){1,2}","\\1cmBfj",[])), 
    <<"acmBfjb">> = iolist_to_binary(re:replace("aab","^(a){1,2}","\\1cmBfj",[global])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,3}","tQ&ktkv\\1VkD&K",[])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,3}","tQ&ktkv\\1VkD&K",[global])), 
    <<"chaaBsFRlbc">> = iolist_to_binary(re:replace("abc","^(a){1,3}","ch&\\1BsFRl",[])), 
    <<"chaaBsFRlbc">> = iolist_to_binary(re:replace("abc","^(a){1,3}","ch&\\1BsFRl",[global])), 
    <<"USb">> = iolist_to_binary(re:replace("aab","^(a){1,3}","US",[])), 
    <<"USb">> = iolist_to_binary(re:replace("aab","^(a){1,3}","US",[global])), 
    <<"QUVwfLaFRTxkapVJd">> = iolist_to_binary(re:replace("aaa","^(a){1,3}","QUVwfL\\1FRTxk\\1pVJd",[])), 
    <<"QUVwfLaFRTxkapVJd">> = iolist_to_binary(re:replace("aaa","^(a){1,3}","QUVwfL\\1FRTxk\\1pVJd",[global])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,}","xN\\1mi",[])), 
    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,}","xN\\1mi",[global])), 
    <<"aCauataXanaETbc">> = iolist_to_binary(re:replace("abc","^(a){1,}","&C&u&t&X&n&ET",[])), 
    <<"aCauataXanaETbc">> = iolist_to_binary(re:replace("abc","^(a){1,}","&C&u&t&X&n&ET",[global])), 
    <<"Bb">> = iolist_to_binary(re:replace("aab","^(a){1,}","B",[])), 
    <<"Bb">> = iolist_to_binary(re:replace("aab","^(a){1,}","B",[global])), 
    <<"XFykuakPaulQTqER">> = iolist_to_binary(re:replace("aaa","^(a){1,}","XFyku\\1kP\\1ulQTqER",[])), 
    <<"XFykuakPaulQTqER">> = iolist_to_binary(re:replace("aaa","^(a){1,}","XFyku\\1kP\\1ulQTqER",[global])), 
    <<"uaaaaaaaasAaaaaaaaaiaaaaaaaaObkaQXXqLaPgaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){1,}","u&sA&i&Obk\\1QXXqL\\1Pg&",[])), 
    <<"uaaaaaaaasAaaaaaaaaiaaaaaaaaObkaQXXqLaPgaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){1,}","u&sA&i&Obk\\1QXXqL\\1Pg&",[global])), 
    <<"borfle
JMhXbib.gifxEbib.gifhBlXkR
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","JMhX&xE&hBl\\1Xk\\1R",[])), 
    <<"borfle
JMhXbib.gifxEbib.gifhBlXkR
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","JMhX&xE&hBl\\1Xk\\1R",[global])), 
    <<"borfle
riUNlLbib.giff
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".{0,}\\.gif","riUNlL&f",[])), 
    <<"borfle
riUNlLbib.giff
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".{0,}\\.gif","riUNlL&f",[global])), 
    <<"borfle
GuWxO
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","GuWxO",[multiline])), 
    <<"borfle
GuWxO
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","GuWxO",[multiline,global])), 
    ok.
run9() ->
    <<"PMnborfle
bib.gifborfle
bib.gifPMt
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","PMn&&PMt",[dotall])), 
    <<"PMnborfle
bib.gifborfle
bib.gifPMt
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","PMn&&PMt",[dotall,global])), 
    <<"rxywwborfle
bib.gif
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","rx\\1\\1yww&",[multiline,dotall])), 
    <<"rxywwborfle
bib.gif
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*\\.gif","rx\\1\\1yww&",[multiline,dotall,global])), 
    <<"borfle
bib.gif
fEMAOjEdetPXRnocBSck">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","fEMAOjEdetPXR&cBSck",[])), 
    <<"borfle
bib.gif
fEMAOjEdetPXRnocBSckfEMAOjEdetPXRcBSck">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","fEMAOjEdetPXR&cBSck",[global])), 
    <<"FdiFlvyqFlWRsa
bib.gif
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","\\1FdiFlvyqFlW\\1Rsa",[multiline])), 
    <<"FdiFlvyqFlWRsaFdiFlvyqFlWRsa
FdiFlvyqFlWRsaFdiFlvyqFlWRsa
FdiFlvyqFlWRsaFdiFlvyqFlWRsa">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","\\1FdiFlvyqFlW\\1Rsa",[multiline,global])), 
    <<"n">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","n",[dotall])), 
    <<"nn">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","n",[dotall,global])), 
    <<"xbTBQedCtvvd">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","xbTBQe\\1dCtvvd",[multiline,dotall])), 
    <<"xbTBQedCtvvdxbTBQedCtvvd">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","xbTBQe\\1dCtvvd",[multiline,dotall,global])), 
    <<"borfle
bib.gif
snononoKyt">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","s&&&Kyt",[])), 
    <<"borfle
bib.gif
snononoKytsKyt">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","s&&&Kyt",[global])), 
    <<"BrborflevYCe
bib.gif
no">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","Br&vYCe",[multiline])), 
    <<"BrborflevYCeBrvYCe
Brbib.gifvYCeBrvYCe
BrnovYCeBrvYCe">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","Br&vYCe",[multiline,global])), 
    <<"gborfle
bib.gif
noPQFusOgmXaynmLborfle
bib.gif
noS">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","g&PQFusOgmXayn\\1mL&S",[dotall])), 
    <<"gborfle
bib.gif
noPQFusOgmXaynmLborfle
bib.gif
noSgPQFusOgmXaynmLS">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","g&PQFusOgmXayn\\1mL&S",[dotall,global])), 
    <<"yVEV">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","yVEV",[multiline,dotall])), 
    <<"yVEVyVEV">> = iolist_to_binary(re:replace("borfle
bib.gif
no",".*$","yVEV",[multiline,dotall,global])), 
    <<"abcde
1234XP1234Xyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","\\1P&",[])), 
    <<"abcde
1234XP1234Xyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","\\1P&",[global])), 
    <<"qarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","q",[])), 
    <<"qarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","q",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","&PNmWin\\1XCGPwUmQi",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","&PNmWin\\1XCGPwUmQi",[global])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","&",[])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","&",[global])), 
    <<"abcde
1234Xk1234XSbVXyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","\\1k&SbVX",[multiline])), 
    <<"abcde
1234Xk1234XSbVXyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","\\1k&SbVX",[multiline,global])), 
    <<"BLBjHdCBpTarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","BL\\1jHdC&pT",[multiline])), 
    <<"BLBjHdCBpTarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","BL\\1jHdC&pT",[multiline,
                                                                                                                                                                                               global])), 
    <<"abcde
AOBrLBaBuLgKctar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","AO&rL\\1a&uLgKct",[multiline])), 
    <<"abcde
AOBrLBaBuLgKctar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","AO&rL\\1a&uLgKct",[multiline,global])), 
    <<"IhhXeabcde
1234Xyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","IhhXe\\1",[dotall])), 
    <<"IhhXeabcde
1234Xyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","IhhXe\\1",[dotall,global])), 
    <<"NfmmMjBGBBShBiBBqABfarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","NfmmMj\\1G&&Sh\\1i&&qA\\1f",[dotall])), 
    <<"NfmmMjBGBBShBiBBqABfarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","NfmmMj\\1G&&Sh\\1i&&qA\\1f",[dotall,
                                                                                                                                                                                                                                global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","fDWQoN&&DK\\1X\\1QE&hqEG",[dotall])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","fDWQoN&&DK\\1X\\1QE&hqEG",[dotall,
                                                                                                                                                                                                                                    global])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","sSxs",[dotall])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","sSxs",[dotall,global])), 
    <<"svIYJDEofMMvabcde
1234XDCabcde
1234Xeabcde
1234Xabcde
1234Xyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","svIYJDEofMMv&DC\\1e&\\1",[multiline,dotall])), 
    <<"svIYJDEofMMvabcde
1234XDCabcde
1234Xeabcde
1234Xabcde
1234Xyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(.*X|^B)","svIYJDEofMMv&DC\\1e&\\1",[multiline,dotall,
                                                        global])), 
    <<"APkjMTOkxTRvMqaBjpxarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","APkjMTOkxTRvMqa&jpx",[multiline,
                                                                                                                                                                                                            dotall])), 
    <<"APkjMTOkxTRvMqaBjpxarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","APkjMTOkxTRvMqa&jpx",[multiline,
                                                                                                                                                                                                             dotall,
                                                                                                                                                                                                             global])), 
    <<"abcde
gLgBDTusNbxpABaVxar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","gLg\\1DTusNbxpA\\1aVx",[multiline,dotall])), 
    <<"abcde
gLgBDTusNbxpABaVxar">> = iolist_to_binary(re:replace("abcde
Bar","(.*X|^B)","gLg\\1DTusNbxpA\\1aVx",[multiline,dotall,global])), 
    <<"jvVabcde
1234XIabcde
1234XLsYyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(?s)(.*X|^B)","jvV\\1I&LsY",[])), 
    <<"jvVabcde
1234XIabcde
1234XLsYyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(?s)(.*X|^B)","jvV\\1I&LsY",[global])), 
    <<"TlTBebymLLEyQBarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s)(.*X|^B)","TlT\\1ebymLLEyQ\\1",[])), 
    <<"TlTBebymLLEyQBarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s)(.*X|^B)","TlT\\1ebymLLEyQ\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s)(.*X|^B)","jrpMnKp\\1&LavAr&vf\\1o",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s)(.*X|^B)","jrpMnKp\\1&LavAr&vf\\1o",[global])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(?s)(.*X|^B)","MB\\1k&&iuX\\1\\1\\1DJKoRl",[])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(?s)(.*X|^B)","MB\\1k&&iuX\\1\\1\\1DJKoRl",[global])), 
    <<"rPUccTvabcde
1234XyMyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(?s:.*X|^B)","rPUccT\\1v&yM",[])), 
    <<"rPUccTvabcde
1234XyMyz">> = iolist_to_binary(re:replace("abcde
1234Xyz","(?s:.*X|^B)","rPUccT\\1v&yM",[global])), 
    <<"ybPFHwvSYTarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s:.*X|^B)","y\\1bPF\\1HwvSYT",[])), 
    <<"ybPFHwvSYTarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s:.*X|^B)","y\\1bPF\\1HwvSYT",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s:.*X|^B)","cM",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s:.*X|^B)","cM",[global])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(?s:.*X|^B)","YwekY\\1N&cbCoStuYolo",[])), 
    <<"abcde
Bar">> = iolist_to_binary(re:replace("abcde
Bar","(?s:.*X|^B)","YwekY\\1N&cbCoStuYolo",[global])), 
    <<"**** Failers">> = iolist_to_binary(re:replace("**** Failers","^.*B","Sf",[])), 
    <<"**** Failers">> = iolist_to_binary(re:replace("**** Failers","^.*B","Sf",[global])), 
    <<"abc
B">> = iolist_to_binary(re:replace("abc
B","^.*B","&uu\\1L\\1JdE",[])), 
    <<"abc
B">> = iolist_to_binary(re:replace("abc
B","^.*B","&uu\\1L\\1JdE",[global])), 
    <<"vveCq">> = iolist_to_binary(re:replace("abc
B","(?s)^.*B","vveC\\1q\\1",[])), 
    <<"vveCq">> = iolist_to_binary(re:replace("abc
B","(?s)^.*B","vveC\\1q\\1",[global])), 
    <<"abc
AIykFFUtx">> = iolist_to_binary(re:replace("abc
B","(?m)^.*B","AIykFFUtx",[])), 
    <<"abc
AIykFFUtx">> = iolist_to_binary(re:replace("abc
B","(?m)^.*B","AIykFFUtx",[global])), 
    <<"tmabc
BkwwOabc
B">> = iolist_to_binary(re:replace("abc
B","(?ms)^.*B","tm&k\\1wwO\\1&",[])), 
    <<"tmabc
BkwwOabc
B">> = iolist_to_binary(re:replace("abc
B","(?ms)^.*B","tm&k\\1wwO\\1&",[global])), 
    ok.
run10() ->
    <<"abc
sIBCmqcRbBEopSkFr">> = iolist_to_binary(re:replace("abc
B","(?ms)^B","sI&\\1CmqcRb&EopSkFr",[])), 
    <<"abc
sIBCmqcRbBEopSkFr">> = iolist_to_binary(re:replace("abc
B","(?ms)^B","sI&\\1CmqcRb&EopSkFr",[global])), 
    <<"cDRlERYdxLVljB">> = iolist_to_binary(re:replace("B","(?s)B$","cDRlERYdx\\1LVlj&\\1",[])), 
    <<"cDRlERYdxLVljB">> = iolist_to_binary(re:replace("B","(?s)B$","cDRlERYdx\\1LVlj&\\1",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"123456654321el">> = iolist_to_binary(re:replace("123456654321","^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d","&\\1el",[])), 
    <<"123456654321el">> = iolist_to_binary(re:replace("123456654321","^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d","&\\1el",[global])), 
    <<"lb123456654321x123456654321V">> = iolist_to_binary(re:replace("123456654321","^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]","lb&x&V",[])), 
    <<"lb123456654321x123456654321V">> = iolist_to_binary(re:replace("123456654321","^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]","lb&x&V",[global])), 
    <<"XpabcabcabcabcAyWDhuR">> = iolist_to_binary(re:replace("abcabcabcabc","^[abc]{12}","Xp&Ay\\1WDhuR",[])), 
    <<"XpabcabcabcabcAyWDhuR">> = iolist_to_binary(re:replace("abcabcabcabc","^[abc]{12}","Xp&Ay\\1WDhuR",[global])), 
    <<"u">> = iolist_to_binary(re:replace("abcabcabcabc","^[a-c]{12}","u",[])), 
    <<"u">> = iolist_to_binary(re:replace("abcabcabcabc","^[a-c]{12}","u",[global])), 
    <<"xmIAabcabcabcabcacHwppQabcabcabcabccscvp">> = iolist_to_binary(re:replace("abcabcabcabc","^(a|b|c){12}","xmIA&a\\1HwppQ&cs\\1vp",[])), 
    <<"xmIAabcabcabcabcacHwppQabcabcabcabccscvp">> = iolist_to_binary(re:replace("abcabcabcabc","^(a|b|c){12}","xmIA&a\\1HwppQ&cs\\1vp",[global])), 
    <<"nDhnL">> = iolist_to_binary(re:replace("n","^[abcdefghijklmnopqrstuvwxy0123456789]","&Dh&L",[])), 
    <<"nDhnL">> = iolist_to_binary(re:replace("n","^[abcdefghijklmnopqrstuvwxy0123456789]","&Dh&L",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[abcdefghijklmnopqrstuvwxy0123456789]","TPu\\1&wb",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[abcdefghijklmnopqrstuvwxy0123456789]","TPu\\1&wb",[global])), 
    <<"z">> = iolist_to_binary(re:replace("z","^[abcdefghijklmnopqrstuvwxy0123456789]","OJhKNSyPeRoI&Wnp",[])), 
    <<"z">> = iolist_to_binary(re:replace("z","^[abcdefghijklmnopqrstuvwxy0123456789]","OJhKNSyPeRoI&Wnp",[global])), 
    <<"K">> = iolist_to_binary(re:replace("abcd","abcde{0,0}","K",[])), 
    <<"K">> = iolist_to_binary(re:replace("abcd","abcde{0,0}","K",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abcde{0,0}","E\\1\\1toPe\\1lGQK",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abcde{0,0}","E\\1\\1toPe\\1lGQK",[global])), 
    <<"abce">> = iolist_to_binary(re:replace("abce","abcde{0,0}","Ki&aBhP&lDx",[])), 
    <<"abce">> = iolist_to_binary(re:replace("abce","abcde{0,0}","Ki&aBhP&lDx",[global])), 
    <<"iQiLCUpSr">> = iolist_to_binary(re:replace("abe","ab[cd]{0,0}e","iQiLCUpSr",[])), 
    <<"iQiLCUpSr">> = iolist_to_binary(re:replace("abe","ab[cd]{0,0}e","iQiLCUpSr",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab[cd]{0,0}e","Hr&PimCU",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab[cd]{0,0}e","Hr&PimCU",[global])), 
    <<"abcde">> = iolist_to_binary(re:replace("abcde","ab[cd]{0,0}e","DC&KnrfLxyCvn&",[])), 
    <<"abcde">> = iolist_to_binary(re:replace("abcde","ab[cd]{0,0}e","DC&KnrfLxyCvn&",[global])), 
    <<"LabdiARUDvV">> = iolist_to_binary(re:replace("abd","ab(c){0,0}d","\\1L\\1\\1&iARUDvV",[])), 
    <<"LabdiARUDvV">> = iolist_to_binary(re:replace("abd","ab(c){0,0}d","\\1L\\1\\1&iARUDvV",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab(c){0,0}d","&\\1Mgf\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab(c){0,0}d","&\\1Mgf\\1",[global])), 
    <<"abcd">> = iolist_to_binary(re:replace("abcd","ab(c){0,0}d","&jO\\1aGGc",[])), 
    <<"abcd">> = iolist_to_binary(re:replace("abcd","ab(c){0,0}d","&jO\\1aGGc",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","a(b*)","&",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","a(b*)","&",[global])), 
    <<"tBTI">> = iolist_to_binary(re:replace("ab","a(b*)","tBTI",[])), 
    <<"tBTI">> = iolist_to_binary(re:replace("ab","a(b*)","tBTI",[global])), 
    <<"habbbbquabbbbbbbbabbbbmjPabbbbiabbbbqU">> = iolist_to_binary(re:replace("abbbb","a(b*)","h&qu&\\1&mjP&i&qU",[])), 
    <<"habbbbquabbbbbbbbabbbbmjPabbbbiabbbbqU">> = iolist_to_binary(re:replace("abbbb","a(b*)","h&qu&\\1&mjP&i&qU",[global])), 
    <<"*** FmYIhaIbaacAjQLailers">> = iolist_to_binary(re:replace("*** Failers","a(b*)","mYIhaIb&acAjQLa",[])), 
    <<"*** FmYIhaIbaacAjQLailers">> = iolist_to_binary(re:replace("*** Failers","a(b*)","mYIhaIb&acAjQLa",[global])), 
    <<"bbbbb">> = iolist_to_binary(re:replace("bbbbb","a(b*)","VG&iplC",[])), 
    <<"bbbbb">> = iolist_to_binary(re:replace("bbbbb","a(b*)","VG&iplC",[global])), 
    <<"al">> = iolist_to_binary(re:replace("abe","ab\\d{0}e","al",[])), 
    <<"al">> = iolist_to_binary(re:replace("abe","ab\\d{0}e","al",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab\\d{0}e","SDV\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab\\d{0}e","SDV\\1",[global])), 
    <<"ab1e">> = iolist_to_binary(re:replace("ab1e","ab\\d{0}e","C&p&eF\\1QF&mi\\1&",[])), 
    <<"ab1e">> = iolist_to_binary(re:replace("ab1e","ab\\d{0}e","C&p&eF\\1QF&mi\\1&",[global])), 
    <<"the LsC\"quick\"v\"quick\"NOdFhYFVvFQ brown fox">> = iolist_to_binary(re:replace("the \"quick\" brown fox","\"([^\\\\\"]+|\\\\.)*\"","LsC&v&NOdFhYFVvFQ",[])), 
    <<"the LsC\"quick\"v\"quick\"NOdFhYFVvFQ brown fox">> = iolist_to_binary(re:replace("the \"quick\" brown fox","\"([^\\\\\"]+|\\\\.)*\"","LsC&v&NOdFhYFVvFQ",[global])), 
    <<"Bymi\"the \\\"quick\\\" brown fox\"OuWN">> = iolist_to_binary(re:replace("\"the \\\"quick\\\" brown fox\"","\"([^\\\\\"]+|\\\\.)*\"","Bymi&OuWN",[])), 
    <<"Bymi\"the \\\"quick\\\" brown fox\"OuWN">> = iolist_to_binary(re:replace("\"the \\\"quick\\\" brown fox\"","\"([^\\\\\"]+|\\\\.)*\"","Bymi&OuWN",[global])), 
    <<"Cyabc">> = iolist_to_binary(re:replace("abc","","Cy",[])), 
    <<"CyaCybCycCy">> = iolist_to_binary(re:replace("abc","","Cy",[global])), 
    <<"cVsDacbW">> = iolist_to_binary(re:replace("acb","a[^a]b","\\1cVsD&W",[])), 
    <<"cVsDacbW">> = iolist_to_binary(re:replace("acb","a[^a]b","\\1cVsD&W",[global])), 
    <<"wa
bojyKixPq">> = iolist_to_binary(re:replace("a
b","a[^a]b","w&ojyKixPq",[])), 
    <<"wa
bojyKixPq">> = iolist_to_binary(re:replace("a
b","a[^a]b","w&ojyKixPq",[global])), 
    <<"DXPqrDQ">> = iolist_to_binary(re:replace("acb","a.b","\\1DX\\1Pqr\\1\\1DQ",[])), 
    <<"DXPqrDQ">> = iolist_to_binary(re:replace("acb","a.b","\\1DX\\1Pqr\\1\\1DQ",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.b","x&dFsqqlLfIA",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.b","x&dFsqqlLfIA",[global])), 
    <<"a
b">> = iolist_to_binary(re:replace("a
b","a.b","P&jObNmClO",[])), 
    <<"a
b">> = iolist_to_binary(re:replace("a
b","a.b","P&jObNmClO",[global])), 
    <<"xacbpLkf">> = iolist_to_binary(re:replace("acb","a[^a]b","x&pLkf",[dotall])), 
    <<"xacbpLkf">> = iolist_to_binary(re:replace("acb","a[^a]b","x&pLkf",[dotall,
                                                                                                                                                                        global])), 
    <<"FEa
bcWUa
bpdda
ba
bALbNurmn">> = iolist_to_binary(re:replace("a
b","a[^a]b","FE&cWU&pdd&&ALbNurmn",[dotall])), 
    <<"FEa
bcWUa
bpdda
ba
bALbNurmn">> = iolist_to_binary(re:replace("a
b","a[^a]b","FE&cWU&pdd&&ALbNurmn",[dotall,global])), 
    ok.
run11() ->
    <<"GXcllkWrIacbBG">> = iolist_to_binary(re:replace("acb","a.b","\\1GXcllkWrI&\\1BG",[dotall])), 
    <<"GXcllkWrIacbBG">> = iolist_to_binary(re:replace("acb","a.b","\\1GXcllkWrI&\\1BG",[dotall,
                                                                                                                                                                                            global])), 
    <<"bmMeaNSa
bVvJW">> = iolist_to_binary(re:replace("a
b","a.b","bmMeaNS&VvJW",[dotall])), 
    <<"bmMeaNSa
bVvJW">> = iolist_to_binary(re:replace("a
b","a.b","bmMeaNS&VvJW",[dotall,global])), 
    <<"FabacNvbacaGaWYRb">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","F\\1&Nv&\\1G\\1WYRb",[])), 
    <<"FabacNvbacaGaWYRb">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","F\\1&Nv&\\1G\\1WYRb",[global])), 
    <<"WGbbacksaSqpuabXCRDoMob">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","WG&ks\\1Sqpu\\1bXCRDoMob",[])), 
    <<"WGbbacksaSqpuabXCRDoMob">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","WG&ks\\1Sqpu\\1bXCRDoMob",[global])), 
    <<"aya">> = iolist_to_binary(re:replace("bbbac","^(b+?|a){1,2}?c","\\1y\\1",[])), 
    <<"aya">> = iolist_to_binary(re:replace("bbbac","^(b+?|a){1,2}?c","\\1y\\1",[global])), 
    <<"bbbbacjqGxgxaVAbbbbacSKEda">> = iolist_to_binary(re:replace("bbbbac","^(b+?|a){1,2}?c","&jqGxgx\\1VA&SKEd\\1",[])), 
    <<"bbbbacjqGxgxaVAbbbbacSKEda">> = iolist_to_binary(re:replace("bbbbac","^(b+?|a){1,2}?c","&jqGxgx\\1VA&SKEd\\1",[global])), 
    <<"nCebbbbbacpljEau">> = iolist_to_binary(re:replace("bbbbbac","^(b+?|a){1,2}?c","nCe&pljE\\1u",[])), 
    <<"nCebbbbbacpljEau">> = iolist_to_binary(re:replace("bbbbbac","^(b+?|a){1,2}?c","nCe&pljE\\1u",[global])), 
    <<"aehaicAQxGvl">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}?c","\\1ehaicAQxGvl",[])), 
    <<"aehaicAQxGvl">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}?c","\\1ehaicAQxGvl",[global])), 
    <<"ggbbactWBanbbacPcVaBlWkC">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}?c","gg&tWB\\1n&PcV\\1BlWkC",[])), 
    <<"ggbbactWBanbbacPcVaBlWkC">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}?c","gg&tWB\\1n&PcV\\1BlWkC",[global])), 
    <<"bbbbacaRcabbbacS">> = iolist_to_binary(re:replace("bbbac","^(b+|a){1,2}?c","b&\\1Rc\\1&S",[])), 
    <<"bbbbacaRcabbbacS">> = iolist_to_binary(re:replace("bbbac","^(b+|a){1,2}?c","b&\\1Rc\\1&S",[global])), 
    <<"lrNbbbbacMarFghJVbbbbac">> = iolist_to_binary(re:replace("bbbbac","^(b+|a){1,2}?c","lrN&M\\1rFghJV&",[])), 
    <<"lrNbbbbacMarFghJVbbbbac">> = iolist_to_binary(re:replace("bbbbac","^(b+|a){1,2}?c","lrN&M\\1rFghJV&",[global])), 
    <<"aybajbbbbbacli">> = iolist_to_binary(re:replace("bbbbbac","^(b+|a){1,2}?c","\\1yb\\1j&li",[])), 
    <<"aybajbbbbbacli">> = iolist_to_binary(re:replace("bbbbbac","^(b+|a){1,2}?c","\\1yb\\1j&li",[global])), 
    <<"x
b">> = iolist_to_binary(re:replace("x
b","(?!\\A)x","qdtT&xXSc",[multiline])), 
    <<"x
b">> = iolist_to_binary(re:replace("x
b","(?!\\A)x","qdtT&xXSc",[multiline,global])), 
    <<"axa">> = iolist_to_binary(re:replace("ax","(?!\\A)x","&a",[multiline])), 
    <<"axa">> = iolist_to_binary(re:replace("ax","(?!\\A)x","&a",[multiline,
                                                                                                                                                                     global])), 
    <<"{ab}">> = iolist_to_binary(re:replace("{ab}","\\x0{ab}","&aQi\\1rM&TR&\\1e",[])), 
    <<"{ab}">> = iolist_to_binary(re:replace("{ab}","\\x0{ab}","&aQi\\1rM&TR&\\1e",[global])), 
    <<"KNDG">> = iolist_to_binary(re:replace("CD","(A|B)*?CD","K\\1NDG",[])), 
    <<"KNDG">> = iolist_to_binary(re:replace("CD","(A|B)*?CD","K\\1NDG",[global])), 
    <<"AgdCDyU">> = iolist_to_binary(re:replace("CD","(A|B)*CD","Agd&\\1yU",[])), 
    <<"AgdCDyU">> = iolist_to_binary(re:replace("CD","(A|B)*CD","Agd&\\1yU",[global])), 
    <<"KNLvABjABABKKABABAB">> = iolist_to_binary(re:replace("ABABAB","(AB)*?\\1","KNLv\\1j&KK&",[])), 
    <<"KNLvABjABABKKABABAB">> = iolist_to_binary(re:replace("ABABAB","(AB)*?\\1","KNLv\\1j&KK&",[global])), 
    <<"GnM">> = iolist_to_binary(re:replace("ABABAB","(AB)*\\1","GnM",[])), 
    <<"GnM">> = iolist_to_binary(re:replace("ABABAB","(AB)*\\1","GnM",[global])), 
    <<"fooRBfoomXVc">> = iolist_to_binary(re:replace("foo","(?<!bar)foo","&RB&mXVc",[])), 
    <<"fooRBfoomXVc">> = iolist_to_binary(re:replace("foo","(?<!bar)foo","&RB&mXVc",[global])), 
    <<"catjWUnJUSd">> = iolist_to_binary(re:replace("catfood","(?<!bar)foo","jWUnJUS",[])), 
    <<"catjWUnJUSd">> = iolist_to_binary(re:replace("catfood","(?<!bar)foo","jWUnJUS",[global])), 
    <<"arPgBuMtle">> = iolist_to_binary(re:replace("arfootle","(?<!bar)foo","PgBuM",[])), 
    <<"arPgBuMtle">> = iolist_to_binary(re:replace("arfootle","(?<!bar)foo","PgBuM",[global])), 
    <<"rfoorKCsmwsrXilqsh">> = iolist_to_binary(re:replace("rfoosh","(?<!bar)foo","&rKCsmwsrXilq",[])), 
    <<"rfoorKCsmwsrXilqsh">> = iolist_to_binary(re:replace("rfoosh","(?<!bar)foo","&rKCsmwsrXilq",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<!bar)foo","\\1aT&&Wgmx",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<!bar)foo","\\1aT&&Wgmx",[global])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<!bar)foo","ljtkcC",[])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<!bar)foo","ljtkcC",[global])), 
    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","(?<!bar)foo","&&\\1Tmj\\1aBVw&Su\\1nww\\1",[])), 
    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","(?<!bar)foo","&&\\1Tmj\\1aBVw&Su\\1nww\\1",[global])), 
    <<"ogelleKhJPBRcatfooBpBd">> = iolist_to_binary(re:replace("catfood","\\w{3}(?<!bar)foo","ogel\\1leKhJPBR\\1&B\\1pB",[])), 
    <<"ogelleKhJPBRcatfooBpBd">> = iolist_to_binary(re:replace("catfood","\\w{3}(?<!bar)foo","ogel\\1leKhJPBR\\1&B\\1pB",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\w{3}(?<!bar)foo","DfK&xr&sMv&&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\w{3}(?<!bar)foo","DfK&xr&sMv&&",[global])), 
    <<"foo">> = iolist_to_binary(re:replace("foo","\\w{3}(?<!bar)foo","&DDDKoimlSswYrm&w",[])), 
    <<"foo">> = iolist_to_binary(re:replace("foo","\\w{3}(?<!bar)foo","&DDDKoimlSswYrm&w",[global])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","\\w{3}(?<!bar)foo","iBoc&&NxWYj\\1xympSmB",[])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","\\w{3}(?<!bar)foo","iBoc&&NxWYj\\1xympSmB",[global])), 
    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","\\w{3}(?<!bar)foo","u&dq&",[])), 
    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","\\w{3}(?<!bar)foo","u&dq&",[global])), 
    <<"fooalCkfooPbarqRySQfoobarYHrF">> = iolist_to_binary(re:replace("fooabar","(?<=(foo)a)bar","lCk\\1P&qRySQ\\1&YHrF",[])), 
    <<"fooalCkfooPbarqRySQfoobarYHrF">> = iolist_to_binary(re:replace("fooabar","(?<=(foo)a)bar","lCk\\1P&qRySQ\\1&YHrF",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo)a)bar","QkbJD&bLtir&fa",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo)a)bar","QkbJD&bLtir&fa",[global])), 
    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=(foo)a)bar","&J\\1DGniTa",[])), 
    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=(foo)a)bar","&J\\1DGniTa",[global])), 
    <<"foobbar">> = iolist_to_binary(re:replace("foobbar","(?<=(foo)a)bar","\\1bfWxNNO\\1\\1uiB",[])), 
    <<"foobbar">> = iolist_to_binary(re:replace("foobbar","(?<=(foo)a)bar","\\1bfWxNNO\\1\\1uiB",[global])), 
    <<"inSfgh">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","inSf\\1\\1gh",[multiline])), 
    <<"inSfgh">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","inSf\\1\\1gh",[multiline,
                                                                                                                                                                                             global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\z","&JtcOT\\1qU",[multiline])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\z","&JtcOT\\1qU",[multiline,
                                                                                                                                                                                                           global])), 
    <<"fEQ">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","fEQ",[multiline])), 
    <<"fEQ">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","fEQ",[multiline,
                                                                                                                                                                         global])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","\\Aabc\\z","ilQoSPAJ",[multiline])), 
    <<"qqq
abc">> = iolist_to_binary(re:replace("qqq
abc","\\Aabc\\z","ilQoSPAJ",[multiline,global])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","\\Aabc\\z","sOIiDw\\1U\\1Mul&\\1NN\\1",[multiline])), 
    <<"abc
zzz">> = iolist_to_binary(re:replace("abc
zzz","\\Aabc\\z","sOIiDw\\1U\\1Mul&\\1NN\\1",[multiline,
                                                               global])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","\\Aabc\\z","&On&obtglyVw",[multiline])), 
    <<"qqq
abc
zzz">> = iolist_to_binary(re:replace("qqq
abc
zzz","\\Aabc\\z","&On&obtglyVw",[multiline,global])), 
    <<"1p.23">> = iolist_to_binary(re:replace("1.230003938","(?>(\\.\\d\\d[1-9]?))\\d+","p\\1",[])), 
    <<"1p.23">> = iolist_to_binary(re:replace("1.230003938","(?>(\\.\\d\\d[1-9]?))\\d+","p\\1",[global])), 
    <<"1.875ShDPcSaaE.875000282">> = iolist_to_binary(re:replace("1.875000282","(?>(\\.\\d\\d[1-9]?))\\d+","\\1ShDPcSaaE&",[])), 
    <<"1.875ShDPcSaaE.875000282">> = iolist_to_binary(re:replace("1.875000282","(?>(\\.\\d\\d[1-9]?))\\d+","\\1ShDPcSaaE&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>(\\.\\d\\d[1-9]?))\\d+","kgx\\1&RsUCY",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>(\\.\\d\\d[1-9]?))\\d+","kgx\\1&RsUCY",[global])), 
    <<"1.235">> = iolist_to_binary(re:replace("1.235","(?>(\\.\\d\\d[1-9]?))\\d+","\\1OwWeWH",[])), 
    <<"1.235">> = iolist_to_binary(re:replace("1.235","(?>(\\.\\d\\d[1-9]?))\\d+","\\1OwWeWH",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((?>\\w+)|(?>\\s+))*$","&dYBP",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((?>\\w+)|(?>\\s+))*$","&dYBP",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"hXTky12345aEl12345aGX12345kFf">> = iolist_to_binary(re:replace("12345a","(\\d+)(\\w)","hXTky&El&GX\\1kFf",[])), 
    <<"hXTky12345aEl12345aGX12345kFf">> = iolist_to_binary(re:replace("12345a","(\\d+)(\\w)","hXTky&El&GX\\1kFf",[global])), 
    <<"hd1234x+">> = iolist_to_binary(re:replace("12345+","(\\d+)(\\w)","hd\\1x",[])), 
    <<"hd1234x+">> = iolist_to_binary(re:replace("12345+","(\\d+)(\\w)","hd\\1x",[global])), 
    <<"12345">> = iolist_to_binary(re:replace("12345a","((?>\\d+))(\\w)","\\1",[])), 
    <<"12345">> = iolist_to_binary(re:replace("12345a","((?>\\d+))(\\w)","\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?>\\d+))(\\w)","aGjfXar",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?>\\d+))(\\w)","aGjfXar",[global])), 
    <<"12345+">> = iolist_to_binary(re:replace("12345+","((?>\\d+))(\\w)","DmEP\\1AVjI&r",[])), 
    <<"12345+">> = iolist_to_binary(re:replace("12345+","((?>\\d+))(\\w)","DmEP\\1AVjI&r",[global])), 
    <<"TaaabtTxSOuYhbPTaaabFKp">> = iolist_to_binary(re:replace("aaab","(?>a+)b","T&tTxS\\1O\\1uYhbPT&\\1FKp",[])), 
    <<"TaaabtTxSOuYhbPTaaabFKp">> = iolist_to_binary(re:replace("aaab","(?>a+)b","T&tTxS\\1O\\1uYhbPT&\\1FKp",[global])), 
    ok.
run12() ->
    <<"LhIrrFgkHmaaabfdaaaboY">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","LhIrrFgkHm&fd\\1oY",[])), 
    <<"LhIrrFgkHmaaabfdaaaboY">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","LhIrrFgkHm&fd\\1oY",[global])), 
    <<"ImaaaaaacADcaaabpHh">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","Im\\1\\1cADc&pHh",[])), 
    <<"ImaaaaaacADcaaabpHh">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","Im\\1\\1cADc&pHh",[global])), 
    <<"aaatKEdbbbccc">> = iolist_to_binary(re:replace("aaabbbccc","(?>b)+","tKEd&\\1",[])), 
    <<"aaatKEdbbbccc">> = iolist_to_binary(re:replace("aaabbbccc","(?>b)+","tKEd&\\1",[global])), 
    <<"mnyiaaabbbbcEwbrLGfNMcccd">> = iolist_to_binary(re:replace("aaabbbbccccd","(?>a+|b+|c+)*c","m\\1nyi&EwbrLGfNM",[])), 
    <<"mnyiaaabbbbcEwbrLGfNMmnyicEwbrLGfNMmnyicEwbrLGfNMmnyicEwbrLGfNMd">> = iolist_to_binary(re:replace("aaabbbbccccd","(?>a+|b+|c+)*c","m\\1nyi&EwbrLGfNM",[global])), 
    <<"((Iqlkabc(ade)ufh()()xbhmeIrGmiGmVd">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","Iqlk&bhmeIrGmiGmVd",[])), 
    <<"((Iqlkabc(ade)ufh()()xbhmeIrGmiGmVd">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","Iqlk&bhmeIrGmiGmVd",[global])), 
    <<"CIsFJQabcgcRrp">> = iolist_to_binary(re:replace("(abc)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","CIsFJQ\\1gcRrp",[])), 
    <<"CIsFJQabcgcRrp">> = iolist_to_binary(re:replace("(abc)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","CIsFJQ\\1gcRrp",[global])), 
    <<"lmHuxyzxyzCxyzBxyzfyc">> = iolist_to_binary(re:replace("(abc(def)xyz)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","lmHu\\1\\1C\\1B\\1fyc",[])), 
    <<"lmHuxyzxyzCxyzBxyzfyc">> = iolist_to_binary(re:replace("(abc(def)xyz)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","lmHu\\1\\1C\\1B\\1fyc",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(((?>[^()]+)|\\([^()]+\\))+\\)","GQrbsavAq",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(((?>[^()]+)|\\([^()]+\\))+\\)","GQrbsavAq",[global])), 
    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(((?>[^()]+)|\\([^()]+\\))+\\)","\\1TXU&lHlMOA&&\\1EB&EF",[])), 
    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(((?>[^()]+)|\\([^()]+\\))+\\)","\\1TXU&lHlMOA&&\\1EB&EF",[global])), 
    <<"idabiAQbk">> = iolist_to_binary(re:replace("ab","a(?-i)b","id\\1&iAQbk",[caseless])), 
    <<"idabiAQbk">> = iolist_to_binary(re:replace("ab","a(?-i)b","id\\1&iAQbk",[caseless,
                                                                                                                                                                                   global])), 
    <<"ymJEoJHMVXAbpfeH">> = iolist_to_binary(re:replace("Ab","a(?-i)b","ymJEo\\1JHMVX&pfeH",[caseless])), 
    <<"ymJEoJHMVXAbpfeH">> = iolist_to_binary(re:replace("Ab","a(?-i)b","ymJEo\\1JHMVX&pfeH",[caseless,
                                                                                                                                                                                                 global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?-i)b","vPR\\1TpFC\\1FV",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?-i)b","vPR\\1TpFC\\1FV",[caseless,
                                                                                                                                                                                                             global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","a(?-i)b","&",[caseless])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","a(?-i)b","&",[caseless,
                                                                                                                                                              global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","a(?-i)b","&\\1VTAYjnm&anO",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","a(?-i)b","&\\1VTAYjnm&anO",[caseless,
                                                                                                                                                                                            global])), 
    <<"wa bcd eNsa bcd eU">> = iolist_to_binary(re:replace("a bcd e","(a (?x)b c)d e","w&Ns&U",[])), 
    <<"wa bcd eNsa bcd eU">> = iolist_to_binary(re:replace("a bcd e","(a (?x)b c)d e","w&Ns&U",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a (?x)b c)d e","J\\1\\1&\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a (?x)b c)d e","J\\1\\1&\\1",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"abcd e">> = iolist_to_binary(re:replace("abcd e","(a (?x)b c)d e","JeuSTa",[])), 
    <<"abcd e">> = iolist_to_binary(re:replace("abcd e","(a (?x)b c)d e","JeuSTa",[global])), 
    <<"a bcde">> = iolist_to_binary(re:replace("a bcde","(a (?x)b c)d e","rGvPufM&S",[])), 
    <<"a bcde">> = iolist_to_binary(re:replace("a bcde","(a (?x)b c)d e","rGvPufM&S",[global])), 
    <<"Ta bcde fa bcde fUmmu">> = iolist_to_binary(re:replace("a bcde f","(a b(?x)c d (?-x)e f)","T\\1\\1Ummu",[])), 
    <<"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])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a b(?x)c d (?-x)e f)","IRrlhH\\1TBy\\1hR&SlYv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a b(?x)c d (?-x)e f)","IRrlhH\\1TBy\\1hR&SlYv",[global])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","(a b(?x)c d (?-x)e f)","&W&QjaDduHuWkQDe&f",[])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","(a b(?x)c d (?-x)e f)","&W&QjaDduHuWkQDe&f",[global])), 
    <<"nPOwabcHbn">> = iolist_to_binary(re:replace("abc","(a(?i)b)c","nPOw&Hbn",[])), 
    <<"nPOwabcHbn">> = iolist_to_binary(re:replace("abc","(a(?i)b)c","nPOw&Hbn",[global])), 
    <<"lUDErmsSNiolx">> = iolist_to_binary(re:replace("aBc","(a(?i)b)c","lUDErmsSNiolx",[])), 
    <<"lUDErmsSNiolx">> = iolist_to_binary(re:replace("aBc","(a(?i)b)c","lUDErmsSNiolx",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)b)c","\\1nnmRyE\\1TDu\\1gSpew&lo",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)b)c","\\1nnmRyE\\1TDu\\1gSpew&lo",[global])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","(a(?i)b)c","\\1yod\\1Yx&CeJlaBW",[])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","(a(?i)b)c","\\1yod\\1Yx&CeJlaBW",[global])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","(a(?i)b)c","&SAguoo",[])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","(a(?i)b)c","&SAguoo",[global])), 
    <<"Abc">> = iolist_to_binary(re:replace("Abc","(a(?i)b)c","gK&",[])), 
    <<"Abc">> = iolist_to_binary(re:replace("Abc","(a(?i)b)c","gK&",[global])), 
    <<"ABc">> = iolist_to_binary(re:replace("ABc","(a(?i)b)c","VqTSha",[])), 
    <<"ABc">> = iolist_to_binary(re:replace("ABc","(a(?i)b)c","VqTSha",[global])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","(a(?i)b)c","umIMCIf&IcUxswr\\1PAle",[])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","(a(?i)b)c","umIMCIf&IcUxswr\\1PAle",[global])), 
    <<"AbC">> = iolist_to_binary(re:replace("AbC","(a(?i)b)c","IrRia&&\\1\\1xxN",[])), 
    <<"AbC">> = iolist_to_binary(re:replace("AbC","(a(?i)b)c","IrRia&&\\1\\1xxN",[global])), 
    <<"BhNg">> = iolist_to_binary(re:replace("abc","a(?i:b)c","B\\1hNg",[])), 
    <<"BhNg">> = iolist_to_binary(re:replace("abc","a(?i:b)c","B\\1hNg",[global])), 
    <<"ksleilaBcnaBcgaBcckag">> = iolist_to_binary(re:replace("aBc","a(?i:b)c","ksleil\\1&n&\\1g&ckag",[])), 
    <<"ksleilaBcnaBcgaBcckag">> = iolist_to_binary(re:replace("aBc","a(?i:b)c","ksleil\\1&n&\\1g&ckag",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)c","HOFVAgJOK&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)c","HOFVAgJOK&",[global])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","a(?i:b)c","AqQnVO",[])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","a(?i:b)c","AqQnVO",[global])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","a(?i:b)c","vnKNXwp\\1rp\\1JxY",[])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","a(?i:b)c","vnKNXwp\\1rp\\1JxY",[global])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)c","&&l&\\1CMbjHlAnNY",[])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)c","&&l&\\1CMbjHlAnNY",[global])), 
    <<"CrbBlrjAUcQReBRN">> = iolist_to_binary(re:replace("aBc","a(?i:b)*c","CrbBlrjAUcQReBRN",[])), 
    <<"CrbBlrjAUcQReBRN">> = iolist_to_binary(re:replace("aBc","a(?i:b)*c","CrbBlrjAUcQReBRN",[global])), 
    <<"FTHvDKUVGaBBcJaBBca">> = iolist_to_binary(re:replace("aBBc","a(?i:b)*c","FT\\1HvDKUVG&J\\1&\\1a",[])), 
    <<"FTHvDKUVGaBBcJaBBca">> = iolist_to_binary(re:replace("aBBc","a(?i:b)*c","FT\\1HvDKUVG&J\\1&\\1a",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)*c","qHE\\1PBQLSx",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)*c","qHE\\1PBQLSx",[global])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)*c","ceuREb\\1nlQIA\\1tjv",[])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)*c","ceuREb\\1nlQIA\\1tjv",[global])), 
    <<"aBBC">> = iolist_to_binary(re:replace("aBBC","a(?i:b)*c","\\1xa&d\\1\\1\\1&y",[])), 
    <<"aBBC">> = iolist_to_binary(re:replace("aBBC","a(?i:b)*c","\\1xa&d\\1\\1\\1&y",[global])), 
    <<"ulvseXcnAHfTux">> = iolist_to_binary(re:replace("abcd","a(?=b(?i)c)\\w\\wd","\\1ulvseXc\\1nAHf\\1Tux",[])), 
    <<"ulvseXcnAHfTux">> = iolist_to_binary(re:replace("abcd","a(?=b(?i)c)\\w\\wd","\\1ulvseXc\\1nAHf\\1Tux",[global])), 
    <<"JabCdfEqTKkUYCsYRBa">> = iolist_to_binary(re:replace("abCd","a(?=b(?i)c)\\w\\wd","J&fEqTKkUYCsYR\\1Ba",[])), 
    <<"JabCdfEqTKkUYCsYRBa">> = iolist_to_binary(re:replace("abCd","a(?=b(?i)c)\\w\\wd","J&fEqTKkUYCsYR\\1Ba",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?=b(?i)c)\\w\\wd","&ucD&KTCpy&hM\\1JmdG\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?=b(?i)c)\\w\\wd","&ucD&KTCpy&hM\\1JmdG\\1",[global])), 
    <<"aBCd">> = iolist_to_binary(re:replace("aBCd","a(?=b(?i)c)\\w\\wd","un&fMos&GsMoI\\1IOOgT\\1",[])), 
    <<"aBCd">> = iolist_to_binary(re:replace("aBCd","a(?=b(?i)c)\\w\\wd","un&fMos&GsMoI\\1IOOgT\\1",[global])), 
    <<"abcD">> = iolist_to_binary(re:replace("abcD","a(?=b(?i)c)\\w\\wd","\\1TX&",[])), 
    <<"abcD">> = iolist_to_binary(re:replace("abcD","a(?=b(?i)c)\\w\\wd","\\1TX&",[global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                       global])), 
    <<"more than MILLIONKImore than MILLIONmore than MILLIONuDxH">> = iolist_to_binary(re:replace("more than MILLION","(?s-i:more.*than).*million","\\1&\\1KI&&uDxH",[caseless])), 
    <<"more than MILLIONKImore than MILLIONmore than MILLIONuDxH">> = iolist_to_binary(re:replace("more than MILLION","(?s-i:more.*than).*million","\\1&\\1KI&&uDxH",[caseless,
                                                                                                                                                                                                                                                                  global])), 
    <<"DIwUfD">> = iolist_to_binary(re:replace("more 
 than Million","(?s-i:more.*than).*million","DIwU\\1fD",[caseless])), 
    <<"DIwUfD">> = iolist_to_binary(re:replace("more 
 than Million","(?s-i:more.*than).*million","DIwU\\1fD",[caseless,
                                                                global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s-i:more.*than).*million","&&m&lYA",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s-i:more.*than).*million","&&m&lYA",[caseless,
                                                                                                                                                                                                                                    global])), 
    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?s-i:more.*than).*million","hC\\1c\\1QaE\\1ejLMkpMbOoW",[caseless])), 
    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?s-i:more.*than).*million","hC\\1c\\1QaE\\1ejLMkpMbOoW",[caseless,
                                                                                                                                                                                                                                                                                      global])), 
    <<"more 
 than 
 million">> = iolist_to_binary(re:replace("more 
 than 
 million","(?s-i:more.*than).*million","hU\\1&DhqAQkrYaH",[caseless])), 
    <<"more 
 than 
 million">> = iolist_to_binary(re:replace("more 
 than 
 million","(?s-i:more.*than).*million","hU\\1&DhqAQkrYaH",[caseless,
                                                                  global])), 
    <<"rBTLmore than millionY">> = iolist_to_binary(re:replace("more than million","(?:(?s-i)more.*than).*million","rBTL&Y",[caseless])), 
    <<"rBTLmore than millionY">> = iolist_to_binary(re:replace("more than million","(?:(?s-i)more.*than).*million","rBTL&Y",[caseless,
                                                                                                                                                                                                                                                  global])), 
    <<"SmyMhdAN">> = iolist_to_binary(re:replace("more than MILLION","(?:(?s-i)more.*than).*million","S\\1myMhdAN",[caseless])), 
    <<"SmyMhdAN">> = iolist_to_binary(re:replace("more than MILLION","(?:(?s-i)more.*than).*million","S\\1myMhdAN",[caseless,
                                                                                                                                                                                                                                                            global])), 
    <<"VCDSmcyPWmore 
 than Milliondg">> = iolist_to_binary(re:replace("more 
 than Million","(?:(?s-i)more.*than).*million","VCDSmcyPW\\1&dg",[caseless])), 
    <<"VCDSmcyPWmore 
 than Milliondg">> = iolist_to_binary(re:replace("more 
 than Million","(?:(?s-i)more.*than).*million","VCDSmcyPW\\1&dg",[caseless,
                                                                         global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?s-i)more.*than).*million","\\1B&",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?s-i)more.*than).*million","\\1B&",[caseless,
                                                                                                                                                                                                                                     global])), 
    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?:(?s-i)more.*than).*million","\\1R&\\1IUeeXdQa&",[caseless])), 
    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?:(?s-i)more.*than).*million","\\1R&\\1IUeeXdQa&",[caseless,
                                                                                                                                                                                                                                                                           global])), 
    <<"more 
 than 
 million">> = iolist_to_binary(re:replace("more 
 than 
 million","(?:(?s-i)more.*than).*million","QA\\1&",[caseless])), 
    <<"more 
 than 
 million">> = iolist_to_binary(re:replace("more 
 than 
 million","(?:(?s-i)more.*than).*million","QA\\1&",[caseless,global])), 
    <<"DxMdabcH">> = iolist_to_binary(re:replace("abc","(?>a(?i)b+)+c","DxMd&H",[])), 
    <<"DxMdabcH">> = iolist_to_binary(re:replace("abc","(?>a(?i)b+)+c","DxMd&H",[global])), 
    <<"GBQiDroaaBbcF">> = iolist_to_binary(re:replace("aBbc","(?>a(?i)b+)+c","GBQiDroa&F\\1",[])), 
    <<"GBQiDroaaBbcF">> = iolist_to_binary(re:replace("aBbc","(?>a(?i)b+)+c","GBQiDroa&F\\1",[global])), 
    <<"daBBcvQhyA">> = iolist_to_binary(re:replace("aBBc","(?>a(?i)b+)+c","d&vQhyA",[])), 
    <<"daBBcvQhyA">> = iolist_to_binary(re:replace("aBBc","(?>a(?i)b+)+c","d&vQhyA",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>a(?i)b+)+c","htKB",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>a(?i)b+)+c","htKB",[global])), 
    <<"Abc">> = iolist_to_binary(re:replace("Abc","(?>a(?i)b+)+c","vR&jLCa\\1y\\1cD",[])), 
    <<"Abc">> = iolist_to_binary(re:replace("Abc","(?>a(?i)b+)+c","vR&jLCa\\1y\\1cD",[global])), 
    <<"abAb">> = iolist_to_binary(re:replace("abAb","(?>a(?i)b+)+c","lG",[])), 
    <<"abAb">> = iolist_to_binary(re:replace("abAb","(?>a(?i)b+)+c","lG",[global])), 
    <<"abbC">> = iolist_to_binary(re:replace("abbC","(?>a(?i)b+)+c","cb&\\1",[])), 
    <<"abbC">> = iolist_to_binary(re:replace("abbC","(?>a(?i)b+)+c","cb&\\1",[global])), 
    <<"QBObvsfLS">> = iolist_to_binary(re:replace("abc","(?=a(?i)b)\\w\\wc","QBObvsfLS",[])), 
    <<"QBObvsfLS">> = iolist_to_binary(re:replace("abc","(?=a(?i)b)\\w\\wc","QBObvsfLS",[global])), 
    <<"muFQTEaBcEaBcPEBB">> = iolist_to_binary(re:replace("aBc","(?=a(?i)b)\\w\\wc","mu\\1FQ\\1TE&E&P\\1EBB\\1",[])), 
    <<"muFQTEaBcEaBcPEBB">> = iolist_to_binary(re:replace("aBc","(?=a(?i)b)\\w\\wc","mu\\1FQ\\1TE&E&P\\1EBB\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=a(?i)b)\\w\\wc","drqTU\\1pJ\\1&vsu&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=a(?i)b)\\w\\wc","drqTU\\1pJ\\1&vsu&",[global])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?=a(?i)b)\\w\\wc","w&t\\1S\\1Q&",[])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?=a(?i)b)\\w\\wc","w&t\\1S\\1Q&",[global])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","(?=a(?i)b)\\w\\wc","BU\\1mgeWbSPrmQu\\1h",[])), 
    <<"abC">> = iolist_to_binary(re:replace("abC","(?=a(?i)b)\\w\\wc","BU\\1mgeWbSPrmQu\\1h",[global])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","(?=a(?i)b)\\w\\wc","Ahi\\1D",[])), 
    <<"aBC">> = iolist_to_binary(re:replace("aBC","(?=a(?i)b)\\w\\wc","Ahi\\1D",[global])), 
    <<"abxJwrB">> = iolist_to_binary(re:replace("abxxc","(?<=a(?i)b)(\\w\\w)c","xJwrB",[])), 
    <<"abxJwrB">> = iolist_to_binary(re:replace("abxxc","(?<=a(?i)b)(\\w\\w)c","xJwrB",[global])), 
    <<"aBWqYokXSFmo">> = iolist_to_binary(re:replace("aBxxc","(?<=a(?i)b)(\\w\\w)c","WqYokXSFmo",[])), 
    <<"aBWqYokXSFmo">> = iolist_to_binary(re:replace("aBxxc","(?<=a(?i)b)(\\w\\w)c","WqYokXSFmo",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a(?i)b)(\\w\\w)c","ViVjAQCNIlGCB\\1RW\\1Ks",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a(?i)b)(\\w\\w)c","ViVjAQCNIlGCB\\1RW\\1Ks",[global])), 
    <<"Abxxc">> = iolist_to_binary(re:replace("Abxxc","(?<=a(?i)b)(\\w\\w)c","c&\\1y&",[])), 
    <<"Abxxc">> = iolist_to_binary(re:replace("Abxxc","(?<=a(?i)b)(\\w\\w)c","c&\\1y&",[global])), 
    <<"ABxxc">> = iolist_to_binary(re:replace("ABxxc","(?<=a(?i)b)(\\w\\w)c","U",[])), 
    <<"ABxxc">> = iolist_to_binary(re:replace("ABxxc","(?<=a(?i)b)(\\w\\w)c","U",[global])), 
    <<"abxxC">> = iolist_to_binary(re:replace("abxxC","(?<=a(?i)b)(\\w\\w)c","\\1qT\\1bjyP\\1\\1Ki\\1iMujiN",[])), 
    <<"abxxC">> = iolist_to_binary(re:replace("abxxC","(?<=a(?i)b)(\\w\\w)c","\\1qT\\1bjyP\\1\\1Ki\\1iMujiN",[global])), 
    <<"PLaeaJqVIraaAoco">> = iolist_to_binary(re:replace("aA","(?:(a)|b)(?(1)A|B)","PLae\\1JqVIra&oco",[])), 
    <<"PLaeaJqVIraaAoco">> = iolist_to_binary(re:replace("aA","(?:(a)|b)(?(1)A|B)","PLae\\1JqVIra&oco",[global])), 
    <<"GsAhcAqbBHmjdSmKbBt">> = iolist_to_binary(re:replace("bB","(?:(a)|b)(?(1)A|B)","GsAhcAq&HmjdSm\\1K&t",[])), 
    <<"GsAhcAqbBHmjdSmKbBt">> = iolist_to_binary(re:replace("bB","(?:(a)|b)(?(1)A|B)","GsAhcAq&HmjdSm\\1K&t",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(a)|b)(?(1)A|B)","jMnYwcU\\1q\\1D\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(a)|b)(?(1)A|B)","jMnYwcU\\1q\\1D\\1",[global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(a)|b)(?(1)A|B)","B&\\1\\1fcB\\1IWxCjS&liri",[])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(a)|b)(?(1)A|B)","B&\\1\\1fcB\\1IWxCjS&liri",[global])), 
    <<"bA">> = iolist_to_binary(re:replace("bA","(?:(a)|b)(?(1)A|B)","wN&v\\1em",[])), 
    <<"bA">> = iolist_to_binary(re:replace("bA","(?:(a)|b)(?(1)A|B)","wN&v\\1em",[global])), 
    <<"oX">> = iolist_to_binary(re:replace("aa","^(a)?(?(1)a|b)+$","oX",[])), 
    <<"oX">> = iolist_to_binary(re:replace("aa","^(a)?(?(1)a|b)+$","oX",[global])), 
    <<"EjqBbBji">> = iolist_to_binary(re:replace("b","^(a)?(?(1)a|b)+$","Ej\\1qB&Bj\\1i",[])), 
    <<"EjqBbBji">> = iolist_to_binary(re:replace("b","^(a)?(?(1)a|b)+$","Ej\\1qB&Bj\\1i",[global])), 
    <<"">> = iolist_to_binary(re:replace("bb","^(a)?(?(1)a|b)+$","\\1",[])), 
    <<"">> = iolist_to_binary(re:replace("bb","^(a)?(?(1)a|b)+$","\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","ra",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","ra",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a)?(?(1)a|b)+$","EHLgXekX",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","^(a)?(?(1)a|b)+$","EHLgXekX",[global])), 
    ok.
run13() ->
    <<"rabc:abc:Kabc:rcuwyQBhDRgB">> = iolist_to_binary(re:replace("abc:","^(?(?=abc)\\w{3}:|\\d\\d)$","r&&K&\\1rcuwyQBhD\\1RgB",[])), 
    <<"rabc:abc:Kabc:rcuwyQBhDRgB">> = iolist_to_binary(re:replace("abc:","^(?(?=abc)\\w{3}:|\\d\\d)$","r&&K&\\1rcuwyQBhD\\1RgB",[global])), 
    <<"DMbrBdk">> = iolist_to_binary(re:replace("12","^(?(?=abc)\\w{3}:|\\d\\d)$","DM\\1br\\1Bdk",[])), 
    <<"DMbrBdk">> = iolist_to_binary(re:replace("12","^(?(?=abc)\\w{3}:|\\d\\d)$","DM\\1br\\1Bdk",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?=abc)\\w{3}:|\\d\\d)$","XeCprJu&qUw\\1Af&&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?=abc)\\w{3}:|\\d\\d)$","XeCprJu&qUw\\1Af&&",[global])), 
    <<"123">> = iolist_to_binary(re:replace("123","^(?(?=abc)\\w{3}:|\\d\\d)$","r\\1jcw",[])), 
    <<"123">> = iolist_to_binary(re:replace("123","^(?(?=abc)\\w{3}:|\\d\\d)$","r\\1jcw",[global])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?=abc)\\w{3}:|\\d\\d)$","\\1usowFJ\\1EG\\1MYM",[])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?=abc)\\w{3}:|\\d\\d)$","\\1usowFJ\\1EG\\1MYM",[global])), 
    <<"Aabc:Fabc:tlJ">> = iolist_to_binary(re:replace("abc:","^(?(?!abc)\\d\\d|\\w{3}:)$","A&F&tlJ",[])), 
    <<"Aabc:Fabc:tlJ">> = iolist_to_binary(re:replace("abc:","^(?(?!abc)\\d\\d|\\w{3}:)$","A&F&tlJ",[global])), 
    <<"iX">> = iolist_to_binary(re:replace("12","^(?(?!abc)\\d\\d|\\w{3}:)$","iX",[])), 
    <<"iX">> = iolist_to_binary(re:replace("12","^(?(?!abc)\\d\\d|\\w{3}:)$","iX",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?!abc)\\d\\d|\\w{3}:)$","j&&J\\1&I",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?!abc)\\d\\d|\\w{3}:)$","j&&J\\1&I",[global])), 
    <<"123">> = iolist_to_binary(re:replace("123","^(?(?!abc)\\d\\d|\\w{3}:)$","kj\\1lukbPh&su\\1Cghlveb",[])), 
    <<"123">> = iolist_to_binary(re:replace("123","^(?(?!abc)\\d\\d|\\w{3}:)$","kj\\1lukbPh&su\\1Cghlveb",[global])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?!abc)\\d\\d|\\w{3}:)$","uXqdQvfv&\\1tC\\1ipRP",[])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?!abc)\\d\\d|\\w{3}:)$","uXqdQvfv&\\1tC\\1ipRP",[global])), 
    <<"foopoYUMCLsWcRfrX">> = iolist_to_binary(re:replace("foobar","(?(?<=foo)bar|cat)","poYUMCLsWcR\\1fr\\1X\\1",[])), 
    <<"foopoYUMCLsWcRfrX">> = iolist_to_binary(re:replace("foobar","(?(?<=foo)bar|cat)","poYUMCLsWcR\\1fr\\1X\\1",[global])), 
    <<"EcatihCGRgMPqq">> = iolist_to_binary(re:replace("cat","(?(?<=foo)bar|cat)","E&ihCGRgMPqq\\1",[])), 
    <<"EcatihCGRgMPqq">> = iolist_to_binary(re:replace("cat","(?(?<=foo)bar|cat)","E&ihCGRgMPqq\\1",[global])), 
    <<"fQRocatSScatcat">> = iolist_to_binary(re:replace("fcat","(?(?<=foo)bar|cat)","QRo&SS&&",[])), 
    <<"fQRocatSScatcat">> = iolist_to_binary(re:replace("fcat","(?(?<=foo)bar|cat)","QRo&SS&&",[global])), 
    <<"foDk">> = iolist_to_binary(re:replace("focat","(?(?<=foo)bar|cat)","D\\1k\\1",[])), 
    <<"foDk">> = iolist_to_binary(re:replace("focat","(?(?<=foo)bar|cat)","D\\1k\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<=foo)bar|cat)","soL&R\\1GSAmJChxOln",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<=foo)bar|cat)","soL&R\\1GSAmJChxOln",[global])), 
    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<=foo)bar|cat)","y&e",[])), 
    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<=foo)bar|cat)","y&e",[global])), 
    <<"fookbarnSruMXTFCE">> = iolist_to_binary(re:replace("foobar","(?(?<!foo)cat|bar)","k\\1&nSruMXTFCE\\1",[])), 
    <<"fookbarnSruMXTFCE">> = iolist_to_binary(re:replace("foobar","(?(?<!foo)cat|bar)","k\\1&nSruMXTFCE\\1",[global])), 
    <<"ynvicatccatYCXYPUdcatHi">> = iolist_to_binary(re:replace("cat","(?(?<!foo)cat|bar)","\\1y\\1\\1nvi&c&YCXYPUd&Hi",[])), 
    <<"ynvicatccatYCXYPUdcatHi">> = iolist_to_binary(re:replace("cat","(?(?<!foo)cat|bar)","\\1y\\1\\1nvi&c&YCXYPUd&Hi",[global])), 
    <<"fGOpcatbyuUbSQjcatV">> = iolist_to_binary(re:replace("fcat","(?(?<!foo)cat|bar)","GOp&by\\1uUbSQj&V",[])), 
    <<"fGOpcatbyuUbSQjcatV">> = iolist_to_binary(re:replace("fcat","(?(?<!foo)cat|bar)","GOp&by\\1uUbSQj&V",[global])), 
    <<"foU">> = iolist_to_binary(re:replace("focat","(?(?<!foo)cat|bar)","U",[])), 
    <<"foU">> = iolist_to_binary(re:replace("focat","(?(?<!foo)cat|bar)","U",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<!foo)cat|bar)","NglUgPv\\1IB&\\1XMXPO",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<!foo)cat|bar)","NglUgPv\\1IB&\\1XMXPO",[global])), 
    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<!foo)cat|bar)","&tLnp",[])), 
    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<!foo)cat|bar)","&tLnp",[global])), 
    <<"vF">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) |) ","vF",[extended])), 
    <<"vF">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) |) ","vF",[extended,
                                                                                                                                                                                                                 global])), 
    <<"j(xp(abcd)mKu(HHgUS(abcd)IE(abcd)">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) |) ","j\\1xp&mKu\\1HHgUS&IE&",[extended])), 
    <<"j(xp(abcd)mKu(HHgUS(abcd)IE(abcd)">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) |) ","j\\1xp&mKu\\1HHgUS&IE&",[extended,
                                                                                                                                                                                                                                                                  global])), 
    <<"yiIibTMatthe quick Rkn(abcd) fox">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) |) ","yi\\1IibTMat&Rkn",[extended])), 
    <<"yiIibTMatthe quick Rknyi(IibTMat(abcd)RknyiIibTMat foxRkn">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) |) ","yi\\1IibTMat&Rkn",[extended,
                                                                                                                                                                                                                                                                               global])), 
    <<"(ruXsFSabcdLabcdbadX">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) |) ","ruXsFS&L&b\\1adX",[extended])), 
    <<"(ruXsFSabcdLabcdbadX">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) |) ","ruXsFS&L&b\\1adX",[extended,
                                                                                                                                                                                                                                                  global])), 
    <<"kCb">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) ) ","kCb",[extended])), 
    <<"kCb">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) ) ","kCb",[extended,
                                                                                                                                                                                                                 global])), 
    <<"ufsBIAN(">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) ) ","ufsBIAN\\1",[extended])), 
    <<"ufsBIAN(">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) ) ","ufsBIAN\\1",[extended,
                                                                                                                                                                                                                                    global])), 
    <<"VECNLXf(abcd) fox">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) ) ","V\\1\\1ECNL\\1Xf",[extended])), 
    <<"VECNLXfV((ECNL(XfVECNLXf">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) ) ","V\\1\\1ECNL\\1Xf",[extended,
                                                                                                                                                                                                                                                                              global])), 
    <<"(PBNukCrgiybP">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) ) ","PBNukCrgiybP",[extended])), 
    <<"(PBNukCrgiybP">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) ) ","PBNukCrgiybP",[extended,
                                                                                                                                                                                                                                     global])), 
    <<"eFGTe1q12hFWn12">> = iolist_to_binary(re:replace("12","^(?(2)a|(1)(2))+$","eFGTe\\1q&hFWn&",[])), 
    <<"eFGTe1q12hFWn12">> = iolist_to_binary(re:replace("12","^(?(2)a|(1)(2))+$","eFGTe\\1q&hFWn&",[global])), 
    <<"GQ">> = iolist_to_binary(re:replace("12a","^(?(2)a|(1)(2))+$","GQ",[])), 
    <<"GQ">> = iolist_to_binary(re:replace("12a","^(?(2)a|(1)(2))+$","GQ",[global])), 
    <<"t12aa">> = iolist_to_binary(re:replace("12aa","^(?(2)a|(1)(2))+$","t&",[])), 
    <<"t12aa">> = iolist_to_binary(re:replace("12aa","^(?(2)a|(1)(2))+$","t&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(2)a|(1)(2))+$","PaHcMWBmFjXXO",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(2)a|(1)(2))+$","PaHcMWBmFjXXO",[global])), 
    <<"1234">> = iolist_to_binary(re:replace("1234","^(?(2)a|(1)(2))+$","R\\1u",[])), 
    <<"1234">> = iolist_to_binary(re:replace("1234","^(?(2)a|(1)(2))+$","R\\1u",[global])), 
    <<"geopblahblah blah">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+\\1","geop\\1&",[])), 
    <<"geopblahblah blah">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+\\1","geop\\1&",[global])), 
    <<"JTHjDKqA">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+\\1","JTHjDKqA",[])), 
    <<"JTHjDKqA">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+\\1","JTHjDKqA",[global])), 
    <<"Blah BlahGvSBlahBlah BlahBlahtBhBlahBlah">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+\\1","&GvS\\1&\\1tBh\\1\\1",[])), 
    <<"Blah BlahGvSBlahBlah BlahBlahtBhBlahBlah">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+\\1","&GvS\\1&\\1tBh\\1\\1",[global])), 
    <<"iCveQdblaHWblaH blaH">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+\\1","iCveQd\\1W&",[])), 
    <<"iCveQdblaHWblaH blaH">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+\\1","iCveQd\\1W&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)blah)\\s+\\1","thGaLpke&&mlDI",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)blah)\\s+\\1","thGaLpke&&mlDI",[global])), 
    <<"blah BLAH">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+\\1","eIP\\1xN",[])), 
    <<"blah BLAH">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+\\1","eIP\\1xN",[global])), 
    <<"Blah blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+\\1","KKqbLs",[])), 
    <<"Blah blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+\\1","KKqbLs",[global])), 
    <<"blaH blah">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+\\1","&jYN&OlnrIjJAVLKO",[])), 
    <<"blaH blah">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+\\1","&jYN&OlnrIjJAVLKO",[global])), 
    <<"PYINshqOHfblah blahblah blahawstrlblahblah blah">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+(?i:\\1)","PYINshqOHf&&awstrl\\1&",[])), 
    <<"PYINshqOHfblah blahblah blahawstrlblahblah blah">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+(?i:\\1)","PYINshqOHf&&awstrl\\1&",[global])), 
    <<"HqueiI">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+(?i:\\1)","HqueiI",[])), 
    <<"HqueiI">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+(?i:\\1)","HqueiI",[global])), 
    <<"MRJcrKPNBlahhmh">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+(?i:\\1)","MRJcrKPN\\1hmh",[])), 
    <<"MRJcrKPNBlahhmh">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+(?i:\\1)","MRJcrKPN\\1hmh",[global])), 
    <<"blaH">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+(?i:\\1)","\\1",[])), 
    <<"blaH">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+(?i:\\1)","\\1",[global])), 
    <<"KVSblah BLAHlXp">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+(?i:\\1)","KVS&lXp",[])), 
    <<"KVSblah BLAHlXp">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+(?i:\\1)","KVS&lXp",[global])), 
    <<"grKSEVpBlah blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+(?i:\\1)","grKSEVp&",[])), 
    <<"grKSEVpBlah blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+(?i:\\1)","grKSEVp&",[global])), 
    <<"dblaHqblaHqQpRmENblaH blahKbSKWblaH blahx">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+(?i:\\1)","d\\1q\\1qQpRmEN&KbSKW&x",[])), 
    <<"dblaHqblaHqQpRmENblaH blahKbSKWblaH blahx">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+(?i:\\1)","d\\1q\\1qQpRmEN&KbSKW&x",[global])), 
    <<"WCdJaih">> = iolist_to_binary(re:replace("a","(?>a*)*","WCdJ&ih",[])), 
    <<"WCdJaihWCdJih">> = iolist_to_binary(re:replace("a","(?>a*)*","WCdJ&ih",[global])), 
    <<"YjUDqaafbyqfUOv">> = iolist_to_binary(re:replace("aa","(?>a*)*","Yj\\1UDq&fbyqfUOv",[])), 
    <<"YjUDqaafbyqfUOvYjUDqfbyqfUOv">> = iolist_to_binary(re:replace("aa","(?>a*)*","Yj\\1UDq&fbyqfUOv",[global])), 
    <<"DuaOoTKn">> = iolist_to_binary(re:replace("aaaa","(?>a*)*","DuaOoTKn\\1",[])), 
    <<"DuaOoTKnDuaOoTKn">> = iolist_to_binary(re:replace("aaaa","(?>a*)*","DuaOoTKn\\1",[global])), 
    <<"lUAkQQE">> = iolist_to_binary(re:replace("abc","(abc|)+","lUAkQQE",[])), 
    <<"lUAkQQElUAkQQE">> = iolist_to_binary(re:replace("abc","(abc|)+","lUAkQQE",[global])), 
    <<"e">> = iolist_to_binary(re:replace("abcabc","(abc|)+","e",[])), 
    <<"ee">> = iolist_to_binary(re:replace("abcabc","(abc|)+","e",[global])), 
    <<"LOeabcabcabcRabcabcabcxkWabcabcabcFSngiabcabcabcdabcabcabcDm">> = iolist_to_binary(re:replace("abcabcabc","(abc|)+","LOe&R&xkW&FSngi&d&Dm",[])), 
    <<"LOeabcabcabcRabcabcabcxkWabcabcabcFSngiabcabcabcdabcabcabcDmLOeRxkWFSngidDm">> = iolist_to_binary(re:replace("abcabcabc","(abc|)+","LOe&R&xkW&FSngi&d&Dm",[global])), 
    <<"IFSvaLmRAwsxyz">> = iolist_to_binary(re:replace("xyz","(abc|)+","IFSvaLmRAws",[])), 
    <<"IFSvaLmRAwsxIFSvaLmRAwsyIFSvaLmRAwszIFSvaLmRAws">> = iolist_to_binary(re:replace("xyz","(abc|)+","IFSvaLmRAws",[global])), 
    <<"DQUraaUYwApYRiYSqa">> = iolist_to_binary(re:replace("a","([a]*)*","DQUr\\1&&\\1UYwApYRiYSq&",[])), 
    <<"DQUraaUYwApYRiYSqaDQUrUYwApYRiYSq">> = iolist_to_binary(re:replace("a","([a]*)*","DQUr\\1&&\\1UYwApYRiYSq&",[global])), 
    <<"pfGYlaaaaadNpJmOaQHl">> = iolist_to_binary(re:replace("aaaaa","([a]*)*","pfGYl&dNpJm\\1OaQHl",[])), 
    <<"pfGYlaaaaadNpJmOaQHlpfGYldNpJmOaQHl">> = iolist_to_binary(re:replace("aaaaa","([a]*)*","pfGYl&dNpJm\\1OaQHl",[global])), 
    <<"IHNVcUg">> = iolist_to_binary(re:replace("a","([ab]*)*","\\1IHNVcUg",[])), 
    <<"IHNVcUgIHNVcUg">> = iolist_to_binary(re:replace("a","([ab]*)*","\\1IHNVcUg",[global])), 
    <<"N">> = iolist_to_binary(re:replace("b","([ab]*)*","N",[])), 
    <<"NN">> = iolist_to_binary(re:replace("b","([ab]*)*","N",[global])), 
    <<"dxkmabababdmRGQJb">> = iolist_to_binary(re:replace("ababab","([ab]*)*","dxkm&dmRGQJb",[])), 
    <<"dxkmabababdmRGQJbdxkmdmRGQJb">> = iolist_to_binary(re:replace("ababab","([ab]*)*","dxkm&dmRGQJb",[global])), 
    <<"urCYmaaaabYvaaaabFcde">> = iolist_to_binary(re:replace("aaaabcde","([ab]*)*","urCY\\1m&Yv&F",[])), 
    <<"urCYmaaaabYvaaaabFurCYmYvFcurCYmYvFdurCYmYvFeurCYmYvF">> = iolist_to_binary(re:replace("aaaabcde","([ab]*)*","urCY\\1m&Yv&F",[global])), 
    <<"W">> = iolist_to_binary(re:replace("bbbb","([ab]*)*","W\\1",[])), 
    <<"WW">> = iolist_to_binary(re:replace("bbbb","([ab]*)*","W\\1",[global])), 
    <<"LocbFbvgb">> = iolist_to_binary(re:replace("b","([^a]*)*","Loc&F&vg&",[])), 
    <<"LocbFbvgbLocFvg">> = iolist_to_binary(re:replace("b","([^a]*)*","Loc&F&vg&",[global])), 
    <<"tWIlHMJfBx">> = iolist_to_binary(re:replace("bbbb","([^a]*)*","tWIlHMJ\\1\\1fBx\\1",[])), 
    <<"tWIlHMJfBxtWIlHMJfBx">> = iolist_to_binary(re:replace("bbbb","([^a]*)*","tWIlHMJ\\1\\1fBx\\1",[global])), 
    <<"IoytBGaaa">> = iolist_to_binary(re:replace("aaa","([^a]*)*","Io\\1ytBG&",[])), 
    <<"IoytBGaIoytBGaIoytBGaIoytBG">> = iolist_to_binary(re:replace("aaa","([^a]*)*","Io\\1ytBG&",[global])), 
    <<"EPDyK">> = iolist_to_binary(re:replace("cccc","([^ab]*)*","EPDyK",[])), 
    <<"EPDyKEPDyK">> = iolist_to_binary(re:replace("cccc","([^ab]*)*","EPDyK",[global])), 
    <<"ovFfXExcDncDabab">> = iolist_to_binary(re:replace("abab","([^ab]*)*","ovFfXE\\1&x\\1cDncD",[])), 
    <<"ovFfXExcDncDaovFfXExcDncDbovFfXExcDncDaovFfXExcDncDbovFfXExcDncD">> = iolist_to_binary(re:replace("abab","([^ab]*)*","ovFfXE\\1&x\\1cDncD",[global])), 
    <<"DJadEBdkEMaRtCWFGEa">> = iolist_to_binary(re:replace("a","([a]*?)*","DJadEBdkEMa&RtCWFGE",[])), 
    <<"DJadEBdkEMaRtCWFGEDJadEBdkEMaaRtCWFGEDJadEBdkEMaRtCWFGE">> = iolist_to_binary(re:replace("a","([a]*?)*","DJadEBdkEMa&RtCWFGE",[global])), 
    <<"Tdgoaaaa">> = iolist_to_binary(re:replace("aaaa","([a]*?)*","T\\1dgo",[])), 
    <<"TdgoTdgoTdgoTdgoTdgoTdgoTdgoTdgoTdgo">> = iolist_to_binary(re:replace("aaaa","([a]*?)*","T\\1dgo",[global])), 
    <<"rvda">> = iolist_to_binary(re:replace("a","([ab]*?)*","&&rvd",[])), 
    <<"rvdaarvdrvd">> = iolist_to_binary(re:replace("a","([ab]*?)*","&&rvd",[global])), 
    <<"JEKgTqgvKb">> = iolist_to_binary(re:replace("b","([ab]*?)*","JEKgT\\1q&gvK",[])), 
    <<"JEKgTqgvKJEKgTqbgvKJEKgTqgvK">> = iolist_to_binary(re:replace("b","([ab]*?)*","JEKgT\\1q&gvK",[global])), 
    <<"UPWVyabab">> = iolist_to_binary(re:replace("abab","([ab]*?)*","UP\\1WVy",[])), 
    <<"UPWVyUPWVyUPWVyUPWVyUPWVyUPWVyUPWVyUPWVyUPWVy">> = iolist_to_binary(re:replace("abab","([ab]*?)*","UP\\1WVy",[global])), 
    <<"AbOomfYRdLAuDFGbaba">> = iolist_to_binary(re:replace("baba","([ab]*?)*","\\1AbO&omfYRdL\\1Au&DFG\\1",[])), 
    <<"AbOomfYRdLAuDFGAbObomfYRdLAubDFGAbOomfYRdLAuDFGAbOaomfYRdLAuaDFGAbOomfYRdLAuDFGAbObomfYRdLAubDFGAbOomfYRdLAuDFGAbOaomfYRdLAuaDFGAbOomfYRdLAuDFG">> = iolist_to_binary(re:replace("baba","([ab]*?)*","\\1AbO&omfYRdL\\1Au&DFG\\1",[global])), 
    <<"vpmFxwVLtNDmRVb">> = iolist_to_binary(re:replace("b","([^a]*?)*","v\\1pmFxwVLtNDmRV",[])), 
    <<"vpmFxwVLtNDmRVvpmFxwVLtNDmRVvpmFxwVLtNDmRV">> = iolist_to_binary(re:replace("b","([^a]*?)*","v\\1pmFxwVLtNDmRV",[global])), 
    <<"yVlokOKtokQKSbbbb">> = iolist_to_binary(re:replace("bbbb","([^a]*?)*","yVlokOK\\1\\1tok\\1\\1Q&KS&",[])), 
    <<"yVlokOKtokQKSyVlokOKtokQbKSbyVlokOKtokQKSyVlokOKtokQbKSbyVlokOKtokQKSyVlokOKtokQbKSbyVlokOKtokQKSyVlokOKtokQbKSbyVlokOKtokQKS">> = iolist_to_binary(re:replace("bbbb","([^a]*?)*","yVlokOK\\1\\1tok\\1\\1Q&KS&",[global])), 
    <<"eMcDykUaaa">> = iolist_to_binary(re:replace("aaa","([^a]*?)*","e\\1&McDykU\\1&",[])), 
    <<"eMcDykUaeMcDykUaeMcDykUaeMcDykU">> = iolist_to_binary(re:replace("aaa","([^a]*?)*","e\\1&McDykU\\1&",[global])), 
    <<"QEARocc">> = iolist_to_binary(re:replace("c","([^ab]*?)*","QEARo&c",[])), 
    <<"QEARocQEARoccQEARoc">> = iolist_to_binary(re:replace("c","([^ab]*?)*","QEARo&c",[global])), 
    <<"KFGQOVcccc">> = iolist_to_binary(re:replace("cccc","([^ab]*?)*","KFG&QO\\1V",[])), 
    <<"KFGQOVKFGcQOVKFGQOVKFGcQOVKFGQOVKFGcQOVKFGQOVKFGcQOVKFGQOV">> = iolist_to_binary(re:replace("cccc","([^ab]*?)*","KFG&QO\\1V",[global])), 
    <<"bhTlpTdfebaba">> = iolist_to_binary(re:replace("baba","([^ab]*?)*","bhTlp\\1Tdfe\\1",[])), 
    <<"bhTlpTdfebbhTlpTdfeabhTlpTdfebbhTlpTdfeabhTlpTdfe">> = iolist_to_binary(re:replace("baba","([^ab]*?)*","bhTlp\\1Tdfe\\1",[global])), 
    <<"PJllegKeFhjiLa">> = iolist_to_binary(re:replace("a","(?>a*)*","PJllegKeFh\\1j\\1iL&",[])), 
    <<"PJllegKeFhjiLaPJllegKeFhjiL">> = iolist_to_binary(re:replace("a","(?>a*)*","PJllegKeFh\\1j\\1iL&",[global])), 
    <<"gUuqhRhIObcde">> = iolist_to_binary(re:replace("aaabcde","(?>a*)*","\\1g\\1U\\1\\1uqhRh\\1IO",[])), 
    <<"gUuqhRhIOgUuqhRhIObgUuqhRhIOcgUuqhRhIOdgUuqhRhIOegUuqhRhIO">> = iolist_to_binary(re:replace("aaabcde","(?>a*)*","\\1g\\1U\\1\\1uqhRh\\1IO",[global])), 
    ok.
run14() ->
    <<"QVEsbJSBcadjBEjT">> = iolist_to_binary(re:replace("aaaaa","((?>a*))*","QVEsbJSBcadjB\\1EjT\\1",[])), 
    <<"QVEsbJSBcadjBEjTQVEsbJSBcadjBEjT">> = iolist_to_binary(re:replace("aaaaa","((?>a*))*","QVEsbJSBcadjB\\1EjT\\1",[global])), 
    <<"aajWaaDjOsitnxUkGdbbaa">> = iolist_to_binary(re:replace("aabbaa","((?>a*))*","&j\\1W&DjOsitnxUkGd",[])), 
    <<"aajWaaDjOsitnxUkGdjWDjOsitnxUkGdbjWDjOsitnxUkGdbaajWaaDjOsitnxUkGdjWDjOsitnxUkGd">> = iolist_to_binary(re:replace("aabbaa","((?>a*))*","&j\\1W&DjOsitnxUkGd",[global])), 
    <<"mpYoteiaaaaa">> = iolist_to_binary(re:replace("aaaaa","((?>a*?))*","&mpYotei",[])), 
    <<"mpYoteiampYoteiampYoteiampYoteiampYoteiampYotei">> = iolist_to_binary(re:replace("aaaaa","((?>a*?))*","&mpYotei",[global])), 
    <<"xwNaabbaa">> = iolist_to_binary(re:replace("aabbaa","((?>a*?))*","xwN",[])), 
    <<"xwNaxwNaxwNbxwNbxwNaxwNaxwN">> = iolist_to_binary(re:replace("aabbaa","((?>a*?))*","xwN",[global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                                                                                                     global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                                                                                   global])), 
    <<"*** 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])), 
    <<"*** 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,
                                                                                                                                                                                                                                                                                                                                           global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                                                                                    global])), 
    <<"fooKBbarfooDAfoofbarfooMfooDQfqvJdYVQ">> = iolist_to_binary(re:replace("foobarfoo","(?<=(foo))bar\\1","KB&DA\\1f&M\\1DQfqvJdYVQ",[])), 
    <<"fooKBbarfooDAfoofbarfooMfooDQfqvJdYVQ">> = iolist_to_binary(re:replace("foobarfoo","(?<=(foo))bar\\1","KB&DA\\1f&M\\1DQfqvJdYVQ",[global])), 
    <<"foofKNfoofooQlDdcmBPbarfooCfooUbarfoofootling">> = iolist_to_binary(re:replace("foobarfootling","(?<=(foo))bar\\1","fKN\\1\\1QlDdcmBP&C\\1U&\\1",[])), 
    <<"foofKNfoofooQlDdcmBPbarfooCfooUbarfoofootling">> = iolist_to_binary(re:replace("foobarfootling","(?<=(foo))bar\\1","fKN\\1\\1QlDdcmBP&C\\1U&\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo))bar\\1","aN&pf\\1\\1\\1mf\\1frWLf&d&m",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo))bar\\1","aN&pf\\1\\1\\1mf\\1frWLf&d&m",[global])), 
    <<"foobar">> = iolist_to_binary(re:replace("foobar","(?<=(foo))bar\\1","NQ&IvkhD&RYe\\1\\1\\1",[])), 
    <<"foobar">> = iolist_to_binary(re:replace("foobar","(?<=(foo))bar\\1","NQ&IvkhD&RYe\\1\\1\\1",[global])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<=(foo))bar\\1","RV\\1lCqK\\1k",[])), 
    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<=(foo))bar\\1","RV\\1lCqK\\1k",[global])), 
    <<"WXSaOsXBjgsaturdayx">> = iolist_to_binary(re:replace("saturday","(?i:saturday|sunday)","W\\1X\\1S\\1aOsXBj\\1g&x",[])), 
    <<"WXSaOsXBjgsaturdayx">> = iolist_to_binary(re:replace("saturday","(?i:saturday|sunday)","W\\1X\\1S\\1aOsXBj\\1g&x",[global])), 
    <<"LogM">> = iolist_to_binary(re:replace("sunday","(?i:saturday|sunday)","Lo\\1gM",[])), 
    <<"LogM">> = iolist_to_binary(re:replace("sunday","(?i:saturday|sunday)","Lo\\1gM",[global])), 
    <<"bAkcTSaturdayamcSaturdayx">> = iolist_to_binary(re:replace("Saturday","(?i:saturday|sunday)","bAk\\1cT&amc&x",[])), 
    <<"bAkcTSaturdayamcSaturdayx">> = iolist_to_binary(re:replace("Saturday","(?i:saturday|sunday)","bAk\\1cT&amc&x",[global])), 
    <<"WJeSunday">> = iolist_to_binary(re:replace("Sunday","(?i:saturday|sunday)","WJe&",[])), 
    <<"WJeSunday">> = iolist_to_binary(re:replace("Sunday","(?i:saturday|sunday)","WJe&",[global])), 
    <<"HPSATURDAYOIKerWiY">> = iolist_to_binary(re:replace("SATURDAY","(?i:saturday|sunday)","HP&OIKerWi\\1Y",[])), 
    <<"HPSATURDAYOIKerWiY">> = iolist_to_binary(re:replace("SATURDAY","(?i:saturday|sunday)","HP&OIKerWi\\1Y",[global])), 
    <<"OgUOq">> = iolist_to_binary(re:replace("SUNDAY","(?i:saturday|sunday)","\\1OgUOq",[])), 
    <<"OgUOq">> = iolist_to_binary(re:replace("SUNDAY","(?i:saturday|sunday)","\\1OgUOq",[global])), 
    <<"UKulSunDaykpSunDayv">> = iolist_to_binary(re:replace("SunDay","(?i:saturday|sunday)","UKul&kp&v",[])), 
    <<"UKulSunDaykpSunDayv">> = iolist_to_binary(re:replace("SunDay","(?i:saturday|sunday)","UKul&kp&v",[global])), 
    <<"uKOqaabcexabcxpabcsJydJMabchE">> = iolist_to_binary(re:replace("abcx","(a(?i)bc|BB)x","uKOqa\\1ex&p\\1sJydJM\\1hE",[])), 
    <<"uKOqaabcexabcxpabcsJydJMabchE">> = iolist_to_binary(re:replace("abcx","(a(?i)bc|BB)x","uKOqa\\1ex&p\\1sJydJM\\1hE",[global])), 
    <<"rRNaBC">> = iolist_to_binary(re:replace("aBCx","(a(?i)bc|BB)x","rRN\\1",[])), 
    <<"rRNaBC">> = iolist_to_binary(re:replace("aBCx","(a(?i)bc|BB)x","rRN\\1",[global])), 
    <<"oJ">> = iolist_to_binary(re:replace("bbx","(a(?i)bc|BB)x","oJ",[])), 
    <<"oJ">> = iolist_to_binary(re:replace("bbx","(a(?i)bc|BB)x","oJ",[global])), 
    <<"BBxR">> = iolist_to_binary(re:replace("BBx","(a(?i)bc|BB)x","&R",[])), 
    <<"BBxR">> = iolist_to_binary(re:replace("BBx","(a(?i)bc|BB)x","&R",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)bc|BB)x","T&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)bc|BB)x","T&",[global])), 
    <<"abcX">> = iolist_to_binary(re:replace("abcX","(a(?i)bc|BB)x","whvhAvFn",[])), 
    <<"abcX">> = iolist_to_binary(re:replace("abcX","(a(?i)bc|BB)x","whvhAvFn",[global])), 
    <<"aBCX">> = iolist_to_binary(re:replace("aBCX","(a(?i)bc|BB)x","Nb&vemA",[])), 
    <<"aBCX">> = iolist_to_binary(re:replace("aBCX","(a(?i)bc|BB)x","Nb&vemA",[global])), 
    <<"bbX">> = iolist_to_binary(re:replace("bbX","(a(?i)bc|BB)x","s\\1GdP\\1\\1dEQ\\1YO",[])), 
    <<"bbX">> = iolist_to_binary(re:replace("bbX","(a(?i)bc|BB)x","s\\1GdP\\1\\1dEQ\\1YO",[global])), 
    <<"BBX">> = iolist_to_binary(re:replace("BBX","(a(?i)bc|BB)x","oFBOVOb",[])), 
    <<"BBX">> = iolist_to_binary(re:replace("BBX","(a(?i)bc|BB)x","oFBOVOb",[global])), 
    <<"tacacotHFLuTEAHCbR">> = iolist_to_binary(re:replace("ac","^([ab](?i)[cd]|[ef])","t&\\1otHFLuTEAHCbR",[])), 
    <<"tacacotHFLuTEAHCbR">> = iolist_to_binary(re:replace("ac","^([ab](?i)[cd]|[ef])","t&\\1otHFLuTEAHCbR",[global])), 
    <<"BaCaCJ">> = iolist_to_binary(re:replace("aC","^([ab](?i)[cd]|[ef])","B&\\1J",[])), 
    <<"BaCaCJ">> = iolist_to_binary(re:replace("aC","^([ab](?i)[cd]|[ef])","B&\\1J",[global])), 
    <<"vbDvbDMbDnOy">> = iolist_to_binary(re:replace("bD","^([ab](?i)[cd]|[ef])","v&v\\1M&nOy",[])), 
    <<"vbDvbDMbDnOy">> = iolist_to_binary(re:replace("bD","^([ab](?i)[cd]|[ef])","v&v\\1M&nOy",[global])), 
    <<"HSegelephant">> = iolist_to_binary(re:replace("elephant","^([ab](?i)[cd]|[ef])","HS&ge",[])), 
    <<"HSegelephant">> = iolist_to_binary(re:replace("elephant","^([ab](?i)[cd]|[ef])","HS&ge",[global])), 
    <<"KmuWEkIQYqurope">> = iolist_to_binary(re:replace("Europe","^([ab](?i)[cd]|[ef])","KmuW&kIQYq",[])), 
    <<"KmuWEkIQYqurope">> = iolist_to_binary(re:replace("Europe","^([ab](?i)[cd]|[ef])","KmuW&kIQYq",[global])), 
    <<"qwwffEncmLfJNGOfOrog">> = iolist_to_binary(re:replace("frog","^([ab](?i)[cd]|[ef])","qww\\1&EncmL\\1JNGO&O",[])), 
    <<"qwwffEncmLfJNGOfOrog">> = iolist_to_binary(re:replace("frog","^([ab](?i)[cd]|[ef])","qww\\1&EncmL\\1JNGO&O",[global])), 
    <<"uVBupFMFDFFBwfMmnlfFrance">> = iolist_to_binary(re:replace("France","^([ab](?i)[cd]|[ef])","uVBup\\1M&D\\1\\1BwfMmnlf&",[])), 
    <<"uVBupFMFDFFBwfMmnlfFrance">> = iolist_to_binary(re:replace("France","^([ab](?i)[cd]|[ef])","uVBup\\1M&D\\1\\1BwfMmnlf&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([ab](?i)[cd]|[ef])","\\1cOIQhxWWs\\1F\\1&nEAw",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([ab](?i)[cd]|[ef])","\\1cOIQhxWWs\\1F\\1&nEAw",[global])), 
    <<"Africa">> = iolist_to_binary(re:replace("Africa","^([ab](?i)[cd]|[ef])","h",[])), 
    <<"Africa">> = iolist_to_binary(re:replace("Africa","^([ab](?i)[cd]|[ef])","h",[global])), 
    <<"rWababXF">> = iolist_to_binary(re:replace("ab","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","rW\\1&XF",[])), 
    <<"rWababXF">> = iolist_to_binary(re:replace("ab","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","rW\\1&XF",[global])), 
    <<"wlBBHaBdG">> = iolist_to_binary(re:replace("aBd","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","wlBBH&G",[])), 
    <<"wlBBHaBdG">> = iolist_to_binary(re:replace("aBd","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","wlBBH&G",[global])), 
    <<"vxyxyyCoOgxy">> = iolist_to_binary(re:replace("xy","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","v\\1\\1yCoOg&",[])), 
    <<"vxyxyyCoOgxy">> = iolist_to_binary(re:replace("xy","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","v\\1\\1yCoOg&",[global])), 
    <<"sEBLg">> = iolist_to_binary(re:replace("xY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","sEBLg",[])), 
    <<"sEBLg">> = iolist_to_binary(re:replace("xY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","sEBLg",[global])), 
    <<"CxGBTmzFzaoxSvnzIJzxebra">> = iolist_to_binary(re:replace("zebra","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","CxGBTm&F&aoxSvn&IJ&x",[])), 
    <<"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])), 
    <<"tcaZQambesi">> = iolist_to_binary(re:replace("Zambesi","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","tca\\1Q",[])), 
    <<"tcaZQambesi">> = iolist_to_binary(re:replace("Zambesi","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","tca\\1Q",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","tSnco&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","tSnco&",[global])), 
    <<"aCD">> = iolist_to_binary(re:replace("aCD","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","dfo",[])), 
    <<"aCD">> = iolist_to_binary(re:replace("aCD","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","dfo",[global])), 
    <<"XY">> = iolist_to_binary(re:replace("XY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","U",[])), 
    <<"XY">> = iolist_to_binary(re:replace("XY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","U",[global])), 
    <<"foo
NRWmeVkGqvP">> = iolist_to_binary(re:replace("foo
bar","(?<=foo\\n)^bar","NRWmeVkGqv\\1P",[multiline])), 
    <<"foo
NRWmeVkGqvP">> = iolist_to_binary(re:replace("foo
bar","(?<=foo\\n)^bar","NRWmeVkGqv\\1P",[multiline,global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=foo\\n)^bar","pcR&ta\\1wJMdM&KPN",[multiline])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=foo\\n)^bar","pcR&ta\\1wJMdM&KPN",[multiline,
                                                                                                                                                                                                                                     global])), 
    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=foo\\n)^bar","jByCJtDS\\1o&THKBAM&y",[multiline])), 
    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=foo\\n)^bar","jByCJtDS\\1o&THKBAM&y",[multiline,
                                                                                                                                                                                                                           global])), 
    <<"baz
bar">> = iolist_to_binary(re:replace("baz
bar","(?<=foo\\n)^bar","qsa\\1EcHRVFjLsoO&fk",[multiline])), 
    <<"baz
bar">> = iolist_to_binary(re:replace("baz
bar","(?<=foo\\n)^bar","qsa\\1EcHRVFjLsoO&fk",[multiline,global])), 
    <<"barrVqQArLvUbazrlnI">> = iolist_to_binary(re:replace("barbaz","(?<=(?<!foo)bar)baz","r\\1\\1VqQArLvU&r\\1lnI",[])), 
    <<"barrVqQArLvUbazrlnI">> = iolist_to_binary(re:replace("barbaz","(?<=(?<!foo)bar)baz","r\\1\\1VqQArLvU&r\\1lnI",[global])), 
    <<"barbargh">> = iolist_to_binary(re:replace("barbarbaz","(?<=(?<!foo)bar)baz","gh",[])), 
    <<"barbargh">> = iolist_to_binary(re:replace("barbarbaz","(?<=(?<!foo)bar)baz","gh",[global])), 
    <<"koobarvdKYQDIVnwbazbazQWKBgh">> = iolist_to_binary(re:replace("koobarbaz","(?<=(?<!foo)bar)baz","vdKYQDIVnw&&QWKBgh",[])), 
    <<"koobarvdKYQDIVnwbazbazQWKBgh">> = iolist_to_binary(re:replace("koobarbaz","(?<=(?<!foo)bar)baz","vdKYQDIVnw&&QWKBgh",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?<!foo)bar)baz","FjVsA\\1&B",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?<!foo)bar)baz","FjVsA\\1&B",[global])), 
    <<"baz">> = iolist_to_binary(re:replace("baz","(?<=(?<!foo)bar)baz","HgWqxfrr\\1qYwT",[])), 
    <<"baz">> = iolist_to_binary(re:replace("baz","(?<=(?<!foo)bar)baz","HgWqxfrr\\1qYwT",[global])), 
    <<"foobarbaz">> = iolist_to_binary(re:replace("foobarbaz","(?<=(?<!foo)bar)baz","yjWsT\\1DYmUlc",[])), 
    <<"foobarbaz">> = iolist_to_binary(re:replace("foobarbaz","(?<=(?<!foo)bar)baz","yjWsT\\1DYmUlc",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?){4}$","xfcMrdAu",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?){4}$","xfcMrdAu",[global])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?){4}$","\\1BliC&LQrU\\1r",[])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?){4}$","\\1BliC&LQrU\\1r",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?){4}$","TeTeD\\1X&&l\\1w",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?){4}$","TeTeD\\1X&&l\\1w",[global])), 
    <<"HV">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?){4}$","HV",[])), 
    <<"HV">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?){4}$","HV",[global])), 
    <<"GmaaaaaaaawlpUaaaaaaaOy">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?){4}$","Gm\\1&wlpU&Oy",[])), 
    <<"GmaaaaaaaawlpUaaaaaaaOy">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?){4}$","Gm\\1&wlpU&Oy",[global])), 
    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?){4}$","snNvqcf\\1mxQ\\1DRPIP",[])), 
    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?){4}$","snNvqcf\\1mxQ\\1DRPIP",[global])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","\\1RtbPoOkgRgQnokJdP",[])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","\\1RtbPoOkgRgQnokJdP",[global])), 
    <<"aaaaaaaaaaaaaagBhaaaaaaaaaaIaaaaaaaaaaKaaaaaaaaaaeSvaaaanYhNTc">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","&\\1gBh&I&K&eSv\\1nYhNTc",[])), 
    <<"aaaaaaaaaaaaaagBhaaaaaaaaaaIaaaaaaaaaaKaaaaaaaaaaeSvaaaanYhNTc">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","&\\1gBh&I&K&eSv\\1nYhNTc",[global])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","\\1O",[])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","\\1O",[global])), 
    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?){4}$","\\1&&",[])), 
    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?){4}$","\\1&&",[global])), 
    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?){4}$","gbGDh\\1\\1\\1PlvFnq",[])), 
    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?){4}$","gbGDh\\1\\1\\1PlvFnq",[global])), 
    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?){4}$","o\\1\\1\\1nIbiYVy&",[])), 
    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?){4}$","o\\1\\1\\1nIbiYVy&",[global])), 
    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?){4}$","K\\1IGHABBJDNX",[])), 
    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?){4}$","K\\1IGHABBJDNX",[global])), 
    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?){4}$","\\1&\\1wvNlo",[])), 
    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?){4}$","\\1&\\1wvNlo",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","MMsqXp\\1L\\1",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","MMsqXp\\1L\\1",[global])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","&\\1\\1cblGbrY\\1\\1sIosd",[])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","&\\1\\1cblGbrY\\1\\1sIosd",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","WyI\\1\\1fd&A\\1",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","WyI\\1\\1fd&A\\1",[global])), 
    <<"hJaaaaKOGfPaaaanTbA">> = iolist_to_binary(re:replace("aaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","hJ&KOGfP&nTbA",[])), 
    <<"hJaaaaKOGfPaaaanTbA">> = iolist_to_binary(re:replace("aaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","hJ&KOGfP&nTbA",[global])), 
    <<"akBaaaaaaJapLD">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","\\1kB&aJ\\1pLD",[])), 
    <<"akBaaaaaaJapLD">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","\\1kB&aJ\\1pLD",[global])), 
    <<"aaadYLlnNBfn">> = iolist_to_binary(re:replace("aaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","a\\1adYLlnNBfn",[])), 
    <<"aaadYLlnNBfn">> = iolist_to_binary(re:replace("aaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","a\\1adYLlnNBfn",[global])), 
    <<"haaaaaaaMn">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","h&Mn",[])), 
    <<"haaaaaaaMn">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","h&Mn",[global])), 
    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","F&\\1&",[])), 
    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","F&\\1&",[global])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","ig&\\1hVNoqXY\\1kTDTB\\1qO",[])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","ig&\\1hVNoqXY\\1kTDTB\\1qO",[global])), 
    <<"jRaaaaaaaaaamEaTlkygaaaaaaaaaadSaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","jR&mE\\1Tlkyg&dS&",[])), 
    <<"jRaaaaaaaaaamEaTlkygaaaaaaaaaadSaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","jR&mE\\1Tlkyg&dS&",[global])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","Tec&gBdh\\1x",[])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","Tec&gBdh\\1x",[global])), 
    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","MMXY&yRoehQihV&b\\1txa",[])), 
    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","MMXY&yRoehQihV&b\\1txa",[global])), 
    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","&",[])), 
    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","&",[global])), 
    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","SnhXn&km\\1BaVtSJUu",[])), 
    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","SnhXn&km\\1BaVtSJUu",[global])), 
    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","FToR",[])), 
    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","FToR",[global])), 
    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","\\1",[])), 
    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","\\1",[global])), 
    <<"abcJJvjL">> = iolist_to_binary(re:replace("abc","abc","&J\\1\\1JvjL",[])), 
    <<"abcJJvjL">> = iolist_to_binary(re:replace("abc","abc","&J\\1\\1JvjL",[global])), 
    <<"xtsyy">> = iolist_to_binary(re:replace("xabcy","abc","tsy",[])), 
    <<"xtsyy">> = iolist_to_binary(re:replace("xabcy","abc","tsy",[global])), 
    <<"abr">> = iolist_to_binary(re:replace("ababc","abc","r",[])), 
    <<"abr">> = iolist_to_binary(re:replace("ababc","abc","r",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","&CvW\\1J&hP\\1kp",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","&CvW\\1J&hP\\1kp",[global])), 
    <<"xbc">> = iolist_to_binary(re:replace("xbc","abc","xONy",[])), 
    <<"xbc">> = iolist_to_binary(re:replace("xbc","abc","xONy",[global])), 
    <<"axc">> = iolist_to_binary(re:replace("axc","abc","O&RYgOFW&\\1b",[])), 
    <<"axc">> = iolist_to_binary(re:replace("axc","abc","O&RYgOFW&\\1b",[global])), 
    <<"abx">> = iolist_to_binary(re:replace("abx","abc","\\1wEEGj\\1Pu\\1E",[])), 
    <<"abx">> = iolist_to_binary(re:replace("abx","abc","\\1wEEGj\\1Pu\\1E",[global])), 
    <<"HnabcabcrHTQ">> = iolist_to_binary(re:replace("abc","ab*c","Hn&&rHTQ",[])), 
    <<"HnabcabcrHTQ">> = iolist_to_binary(re:replace("abc","ab*c","Hn&&rHTQ",[global])), 
    <<"xTpXkabc">> = iolist_to_binary(re:replace("abc","ab*bc","xTpXk&",[])), 
    <<"xTpXkabc">> = iolist_to_binary(re:replace("abc","ab*bc","xTpXk&",[global])), 
    <<"xLoabbchcabbckehh">> = iolist_to_binary(re:replace("abbc","ab*bc","xLo&hc&k\\1ehh",[])), 
    <<"xLoabbchcabbckehh">> = iolist_to_binary(re:replace("abbc","ab*bc","xLo&hc&k\\1ehh",[global])), 
    <<"Tkaj">> = iolist_to_binary(re:replace("abbbbc","ab*bc","Tkaj",[])), 
    <<"Tkaj">> = iolist_to_binary(re:replace("abbbbc","ab*bc","Tkaj",[global])), 
    <<"KJCYEgbbbbc">> = iolist_to_binary(re:replace("abbbbc",".{1}","\\1KJCYEg",[])), 
    <<"KJCYEgKJCYEgKJCYEgKJCYEgKJCYEgKJCYEg">> = iolist_to_binary(re:replace("abbbbc",".{1}","\\1KJCYEg",[global])), 
    <<"XabbbOSpFbFfabbbbc">> = iolist_to_binary(re:replace("abbbbc",".{3,4}","X&O\\1SpFbFf&",[])), 
    <<"XabbbOSpFbFfabbbbc">> = iolist_to_binary(re:replace("abbbbc",".{3,4}","X&O\\1SpFbFf&",[global])), 
    <<"FMabbbbcELDoDirqkHb">> = iolist_to_binary(re:replace("abbbbc","ab{0,}bc","FM&ELDoDirqkHb",[])), 
    <<"FMabbbbcELDoDirqkHb">> = iolist_to_binary(re:replace("abbbbc","ab{0,}bc","FM&ELDoDirqkHb",[global])), 
    <<"nVWfSGeKlL">> = iolist_to_binary(re:replace("abbc","ab+bc","n\\1VWfSGe\\1KlL",[])), 
    <<"nVWfSGeKlL">> = iolist_to_binary(re:replace("abbc","ab+bc","n\\1VWfSGe\\1KlL",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","\\1jmWD&n\\1\\1mX&mJMl\\1X",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","\\1jmWD&n\\1\\1mX&mJMl\\1X",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","ab+bc","\\1&W&Kf&\\1dU&T",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","ab+bc","\\1&W&Kf&\\1dU&T",[global])), 
    <<"abq">> = iolist_to_binary(re:replace("abq","ab+bc","l\\1yn\\1E&P\\1JeWGV",[])), 
    <<"abq">> = iolist_to_binary(re:replace("abq","ab+bc","l\\1yn\\1E&P\\1JeWGV",[global])), 
    ok.
run15() ->
    <<"oOAIabbbbcabbbbcabbbbcio">> = iolist_to_binary(re:replace("abbbbc","ab+bc","oOAI&&&io",[])), 
    <<"oOAIabbbbcabbbbcabbbbcio">> = iolist_to_binary(re:replace("abbbbc","ab+bc","oOAI&&&io",[global])), 
    <<"eKDbRMig">> = iolist_to_binary(re:replace("abbbbc","ab{1,}bc","\\1eKDb\\1R\\1Mig",[])), 
    <<"eKDbRMig">> = iolist_to_binary(re:replace("abbbbc","ab{1,}bc","\\1eKDb\\1R\\1Mig",[global])), 
    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","&\\1",[])), 
    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","&\\1",[global])), 
    <<"lLsEYiU">> = iolist_to_binary(re:replace("abbbbc","ab{3,4}bc","lLsEYiU",[])), 
    <<"lLsEYiU">> = iolist_to_binary(re:replace("abbbbc","ab{3,4}bc","lLsEYiU",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}bc","K\\1Q\\1Sjr&\\1&e&V\\1TQy",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}bc","K\\1Q\\1Sjr&\\1&e&V\\1TQy",[global])), 
    <<"abq">> = iolist_to_binary(re:replace("abq","ab{4,5}bc","O&C",[])), 
    <<"abq">> = iolist_to_binary(re:replace("abq","ab{4,5}bc","O&C",[global])), 
    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","ab{4,5}bc","iqc",[])), 
    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","ab{4,5}bc","iqc",[global])), 
    <<"epUFDnxBdDXmIWF">> = iolist_to_binary(re:replace("abbc","ab?bc","epUFDnxBdDXmIW\\1F\\1",[])), 
    <<"epUFDnxBdDXmIWF">> = iolist_to_binary(re:replace("abbc","ab?bc","epUFDnxBdDXmIW\\1F\\1",[global])), 
    <<"WhqERQJGEPXkYabcqW">> = iolist_to_binary(re:replace("abc","ab?bc","Whq\\1ERQJGEPXkY&qW",[])), 
    <<"WhqERQJGEPXkYabcqW">> = iolist_to_binary(re:replace("abc","ab?bc","Whq\\1ERQJGEPXkY&qW",[global])), 
    <<"aabcLmSkjuaNwdKc">> = iolist_to_binary(re:replace("abc","ab{0,1}bc","\\1a&\\1LmSkjuaNwd\\1Kc\\1",[])), 
    <<"aabcLmSkjuaNwdKc">> = iolist_to_binary(re:replace("abc","ab{0,1}bc","\\1a&\\1LmSkjuaNwd\\1Kc\\1",[global])), 
    <<"bpSabcEqqmi">> = iolist_to_binary(re:replace("abc","ab?c","bp\\1S&Eqqmi\\1",[])), 
    <<"bpSabcEqqmi">> = iolist_to_binary(re:replace("abc","ab?c","bp\\1S&Eqqmi\\1",[global])), 
    <<"Clxabc">> = iolist_to_binary(re:replace("abc","ab{0,1}c","Clx&",[])), 
    <<"Clxabc">> = iolist_to_binary(re:replace("abc","ab{0,1}c","Clx&",[global])), 
    <<"SlhQaJwtnpw">> = iolist_to_binary(re:replace("abc","^abc$","Sl\\1h\\1Q\\1aJwtnpw",[])), 
    <<"SlhQaJwtnpw">> = iolist_to_binary(re:replace("abc","^abc$","Sl\\1h\\1Q\\1aJwtnpw",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","eiP",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","eiP",[global])), 
    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","^abc$","g\\1Qnq\\1jC&jh\\1wFsOwY\\1",[])), 
    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","^abc$","g\\1Qnq\\1jC&jh\\1wFsOwY\\1",[global])), 
    <<"abcc">> = iolist_to_binary(re:replace("abcc","^abc$","CjHXsgNepVYlWp",[])), 
    <<"abcc">> = iolist_to_binary(re:replace("abcc","^abc$","CjHXsgNepVYlWp",[global])), 
    <<"HETabcc">> = iolist_to_binary(re:replace("abcc","^abc","HE\\1T&",[])), 
    <<"HETabcc">> = iolist_to_binary(re:replace("abcc","^abc","HE\\1T&",[global])), 
    <<"aodabcujLupqR">> = iolist_to_binary(re:replace("aabc","abc$","od&ujLupqR",[])), 
    <<"aodabcujLupqR">> = iolist_to_binary(re:replace("aabc","abc$","od&ujLupqR",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","R",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","R",[global])), 
    <<"aFvyvrxXtabcs">> = iolist_to_binary(re:replace("aabc","abc$","Fvyvrx\\1Xt&s",[])), 
    <<"aFvyvrxXtabcs">> = iolist_to_binary(re:replace("aabc","abc$","Fvyvrx\\1Xt&s",[global])), 
    <<"aabcd">> = iolist_to_binary(re:replace("aabcd","abc$","Pj\\1wNa&XbegI&F",[])), 
    <<"aabcd">> = iolist_to_binary(re:replace("aabcd","abc$","Pj\\1wNa&XbegI&F",[global])), 
    <<"ABvCLJOpNeVHhabc">> = iolist_to_binary(re:replace("abc","^","ABvC&&LJOpNeVH\\1h",[])), 
    <<"ABvCLJOpNeVHhabc">> = iolist_to_binary(re:replace("abc","^","ABvC&&LJOpNeVH\\1h",[global])), 
    <<"abcJEFEIGYBydFwJM">> = iolist_to_binary(re:replace("abc","$","JEFEIG&&&Y\\1BydFwJM",[])), 
    <<"abcJEFEIGYBydFwJM">> = iolist_to_binary(re:replace("abc","$","JEFEIG&&&Y\\1BydFwJM",[global])), 
    <<"UEUMgabcabclGDFuMsIl">> = iolist_to_binary(re:replace("abc","a.c","UEUMg&&lGDFu\\1MsIl",[])), 
    <<"UEUMgabcabclGDFuMsIl">> = iolist_to_binary(re:replace("abc","a.c","UEUMg&&lGDFu\\1MsIl",[global])), 
    <<"LAYr">> = iolist_to_binary(re:replace("axc","a.c","LAYr",[])), 
    <<"LAYr">> = iolist_to_binary(re:replace("axc","a.c","LAYr",[global])), 
    <<"EoYP">> = iolist_to_binary(re:replace("axyzc","a.*c","EoY\\1P",[])), 
    <<"EoYP">> = iolist_to_binary(re:replace("axyzc","a.*c","EoY\\1P",[global])), 
    <<"qYbmPPabd">> = iolist_to_binary(re:replace("abd","a[bc]d","qYbmPP&",[])), 
    <<"qYbmPPabd">> = iolist_to_binary(re:replace("abd","a[bc]d","qYbmPP&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bc]d","\\1C\\1SFfkHmrCTJ",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bc]d","\\1C\\1SFfkHmrCTJ",[global])), 
    <<"axyzd">> = iolist_to_binary(re:replace("axyzd","a[bc]d","J&\\1J&",[])), 
    <<"axyzd">> = iolist_to_binary(re:replace("axyzd","a[bc]d","J&\\1J&",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","a[bc]d","Q&HAQK&t",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","a[bc]d","Q&HAQK&t",[global])), 
    <<"WbKKCNjyC">> = iolist_to_binary(re:replace("ace","a[b-d]e","\\1WbKKCNjyC",[])), 
    <<"WbKKCNjyC">> = iolist_to_binary(re:replace("ace","a[b-d]e","\\1WbKKCNjyC",[global])), 
    ok.
run16() ->
    <<"aTHHUYacigdJtNac">> = iolist_to_binary(re:replace("aac","a[b-d]","THHUY&igdJt\\1N&",[])), 
    <<"aTHHUYacigdJtNac">> = iolist_to_binary(re:replace("aac","a[b-d]","THHUY&igdJt\\1N&",[global])), 
    <<"JdNla-BpgoAJobghPXXK">> = iolist_to_binary(re:replace("a-","a[-b]","JdNl&BpgoAJobghPXXK",[])), 
    <<"JdNla-BpgoAJobghPXXK">> = iolist_to_binary(re:replace("a-","a[-b]","JdNl&BpgoAJobghPXXK",[global])), 
    <<"ka-a-">> = iolist_to_binary(re:replace("a-","a[b-]","k&&\\1",[])), 
    <<"ka-a-">> = iolist_to_binary(re:replace("a-","a[b-]","k&&\\1",[global])), 
    <<"hXKn">> = iolist_to_binary(re:replace("a]","a]","hXKn",[])), 
    <<"hXKn">> = iolist_to_binary(re:replace("a]","a]","hXKn",[global])), 
    <<"Mpa]bJQ">> = iolist_to_binary(re:replace("a]b","a[]]b","\\1Mp&JQ",[])), 
    <<"Mpa]bJQ">> = iolist_to_binary(re:replace("a]b","a[]]b","\\1Mp&JQ",[global])), 
    <<"BqnaedgwNu">> = iolist_to_binary(re:replace("aed","a[^bc]d","Bqn\\1&gw\\1Nu",[])), 
    <<"BqnaedgwNu">> = iolist_to_binary(re:replace("aed","a[^bc]d","Bqn\\1&gw\\1Nu",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^bc]d","\\1BbD&v",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^bc]d","\\1BbD&v",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","wsTKas&SjtLxJf\\1\\1hMC",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","wsTKas&SjtLxJf\\1\\1hMC",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","NeK&\\1F",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","NeK&\\1F",[global])), 
    <<"hLeXkpLIvadcW">> = iolist_to_binary(re:replace("adc","a[^-b]c","hLeXkpLIv&W",[])), 
    <<"hLeXkpLIvadcW">> = iolist_to_binary(re:replace("adc","a[^-b]c","hLeXkpLIv&W",[global])), 
    <<"adcadc">> = iolist_to_binary(re:replace("adc","a[^]b]c","&&\\1",[])), 
    <<"adcadc">> = iolist_to_binary(re:replace("adc","a[^]b]c","&&\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^]b]c","aELhPe\\1sLAnpxtxB",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^]b]c","aELhPe\\1sLAnpxtxB",[global])), 
    <<"SKH">> = iolist_to_binary(re:replace("a-c","a[^]b]c","SKH",[])), 
    <<"SKH">> = iolist_to_binary(re:replace("a-c","a[^]b]c","SKH",[global])), 
    <<"a]c">> = iolist_to_binary(re:replace("a]c","a[^]b]c","IB",[])), 
    <<"a]c">> = iolist_to_binary(re:replace("a]c","a[^]b]c","IB",[global])), 
    <<"COboVXMd-">> = iolist_to_binary(re:replace("a-","\\ba\\b","COboVXMd",[])), 
    <<"COboVXMd-">> = iolist_to_binary(re:replace("a-","\\ba\\b","COboVXMd",[global])), 
    <<"-ydGtl">> = iolist_to_binary(re:replace("-a","\\ba\\b","\\1ydGtl",[])), 
    <<"-ydGtl">> = iolist_to_binary(re:replace("-a","\\ba\\b","\\1ydGtl",[global])), 
    <<"-awxvweaXGdlD-">> = iolist_to_binary(re:replace("-a-","\\ba\\b","&wx\\1vweaX\\1GdlD",[])), 
    <<"-awxvweaXGdlD-">> = iolist_to_binary(re:replace("-a-","\\ba\\b","&wx\\1vweaX\\1GdlD",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\by\\b","V&Yu",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\by\\b","V&Yu",[global])), 
    <<"xy">> = iolist_to_binary(re:replace("xy","\\by\\b","&uQiJpvCwJtLUQ&n&e",[])), 
    <<"xy">> = iolist_to_binary(re:replace("xy","\\by\\b","&uQiJpvCwJtLUQ&n&e",[global])), 
    <<"yz">> = iolist_to_binary(re:replace("yz","\\by\\b","JnTOLWX\\1&mW&F\\1",[])), 
    <<"yz">> = iolist_to_binary(re:replace("yz","\\by\\b","JnTOLWX\\1&mW&F\\1",[global])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","\\by\\b","y&h\\1&u",[])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","\\by\\b","y&h\\1&u",[global])), 
    <<"*** Fdailers">> = iolist_to_binary(re:replace("*** Failers","\\Ba\\B","d&\\1",[])), 
    <<"*** Fdailers">> = iolist_to_binary(re:replace("*** Failers","\\Ba\\B","d&\\1",[global])), 
    <<"a-">> = iolist_to_binary(re:replace("a-","\\Ba\\B","sfBOnWLWdrl",[])), 
    <<"a-">> = iolist_to_binary(re:replace("a-","\\Ba\\B","sfBOnWLWdrl",[global])), 
    <<"-a">> = iolist_to_binary(re:replace("-a","\\Ba\\B","kQ",[])), 
    <<"-a">> = iolist_to_binary(re:replace("-a","\\Ba\\B","kQ",[global])), 
    <<"-a-">> = iolist_to_binary(re:replace("-a-","\\Ba\\B","&jYf&iIQh\\1",[])), 
    <<"-a-">> = iolist_to_binary(re:replace("-a-","\\Ba\\B","&jYf&iIQh\\1",[global])), 
    <<"xyyEyso">> = iolist_to_binary(re:replace("xy","\\By\\b","y&E&so",[])), 
    <<"xyyEyso">> = iolist_to_binary(re:replace("xy","\\By\\b","y&E&so",[global])), 
    <<"yymuiNz">> = iolist_to_binary(re:replace("yz","\\by\\B","\\1&&\\1muiN",[])), 
    <<"yymuiNz">> = iolist_to_binary(re:replace("yz","\\by\\B","\\1&&\\1muiN",[global])), 
    <<"xUyz">> = iolist_to_binary(re:replace("xyz","\\By\\B","U&",[])), 
    <<"xUyz">> = iolist_to_binary(re:replace("xyz","\\By\\B","U&",[global])), 
    <<"yohceaHvakiaxgGAPsc">> = iolist_to_binary(re:replace("a","\\w","yohce&Hv&ki&xgGAPsc",[])), 
    <<"yohceaHvakiaxgGAPsc">> = iolist_to_binary(re:replace("a","\\w","yohce&Hv&ki&xgGAPsc",[global])), 
    <<"t--q">> = iolist_to_binary(re:replace("-","\\W","t&&q",[])), 
    <<"t--q">> = iolist_to_binary(re:replace("-","\\W","t&&q",[global])), 
    <<"wSEi*VKdBOyBw** Failers">> = iolist_to_binary(re:replace("*** Failers","\\W","w\\1SEi\\1&VKdBOyB\\1w",[])), 
    <<"wSEi*VKdBOyBwwSEi*VKdBOyBwwSEi*VKdBOyBwwSEi VKdBOyBwFailers">> = iolist_to_binary(re:replace("*** Failers","\\W","w\\1SEi\\1&VKdBOyB\\1w",[global])), 
    <<"nI-H">> = iolist_to_binary(re:replace("-","\\W","nI&H",[])), 
    <<"nI-H">> = iolist_to_binary(re:replace("-","\\W","nI&H",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","\\W","kxKDSoW",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","\\W","kxKDSoW",[global])), 
    <<"d">> = iolist_to_binary(re:replace("a b","a\\sb","d",[])), 
    <<"d">> = iolist_to_binary(re:replace("a b","a\\sb","d",[global])), 
    <<"IQboAe">> = iolist_to_binary(re:replace("a-b","a\\Sb","IQboAe",[])), 
    <<"IQboAe">> = iolist_to_binary(re:replace("a-b","a\\Sb","IQboAe",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Sb","Ii&smqXytI\\1w\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Sb","Ii&smqXytI\\1w\\1",[global])), 
    <<"fXa-bEijX">> = iolist_to_binary(re:replace("a-b","a\\Sb","fX&EijX",[])), 
    <<"fXa-bEijX">> = iolist_to_binary(re:replace("a-b","a\\Sb","fX&EijX",[global])), 
    <<"a b">> = iolist_to_binary(re:replace("a b","a\\Sb","u&WnxKsF\\1EaL\\1",[])), 
    <<"a b">> = iolist_to_binary(re:replace("a b","a\\Sb","u&WnxKsF\\1EaL\\1",[global])), 
    <<"VOo1">> = iolist_to_binary(re:replace("1","\\d","VOo&",[])), 
    <<"VOo1">> = iolist_to_binary(re:replace("1","\\d","VOo&",[global])), 
    <<"--GGkJ---qWNn">> = iolist_to_binary(re:replace("-","\\D","&&GG\\1k\\1J&&&qWNn",[])), 
    <<"--GGkJ---qWNn">> = iolist_to_binary(re:replace("-","\\D","&&GG\\1k\\1J&&&qWNn",[global])), 
    <<"QOREoyFBbWu** Failers">> = iolist_to_binary(re:replace("*** Failers","\\D","QOREo\\1y\\1FBbWu",[])), 
    <<"QOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWu">> = iolist_to_binary(re:replace("*** Failers","\\D","QOREo\\1y\\1FBbWu",[global])), 
    <<"Pcnt-nSAvUGvRwiwct">> = iolist_to_binary(re:replace("-","\\D","\\1Pcn\\1t&nSAvUGvRwiwct",[])), 
    <<"Pcnt-nSAvUGvRwiwct">> = iolist_to_binary(re:replace("-","\\D","\\1Pcn\\1t&nSAvUGvRwiwct",[global])), 
    <<"1">> = iolist_to_binary(re:replace("1","\\D","WOH\\1UuhFQnuf&u",[])), 
    <<"1">> = iolist_to_binary(re:replace("1","\\D","WOH\\1UuhFQnuf&u",[global])), 
    ok.
run17() ->
    <<"ayglGX">> = iolist_to_binary(re:replace("a","[\\w]","&yglGX",[])), 
    <<"ayglGX">> = iolist_to_binary(re:replace("a","[\\w]","&yglGX",[global])), 
    <<"xHBNG-KPNeTiy--ANU">> = iolist_to_binary(re:replace("-","[\\W]","\\1xHBNG&KPNeTiy&&ANU",[])), 
    <<"xHBNG-KPNeTiy--ANU">> = iolist_to_binary(re:replace("-","[\\W]","\\1xHBNG&KPNeTiy&&ANU",[global])), 
    <<"dLaJCwC** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\W]","dLaJCwC",[])), 
    <<"dLaJCwCdLaJCwCdLaJCwCdLaJCwCFailers">> = iolist_to_binary(re:replace("*** Failers","[\\W]","dLaJCwC",[global])), 
    <<"wRDLkv-">> = iolist_to_binary(re:replace("-","[\\W]","wRDLkv\\1&",[])), 
    <<"wRDLkv-">> = iolist_to_binary(re:replace("-","[\\W]","wRDLkv\\1&",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","[\\W]","y&sFW&WNGfXd\\1gihko&",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","[\\W]","y&sFW&WNGfXd\\1gihko&",[global])), 
    <<"PTJaa bD">> = iolist_to_binary(re:replace("a b","a[\\s]b","PT\\1Ja&D",[])), 
    <<"PTJaa bD">> = iolist_to_binary(re:replace("a b","a[\\s]b","PT\\1Ja&D",[global])), 
    <<"a-bDGOD">> = iolist_to_binary(re:replace("a-b","a[\\S]b","&DGOD",[])), 
    <<"a-bDGOD">> = iolist_to_binary(re:replace("a-b","a[\\S]b","&DGOD",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[\\S]b","KI\\1qEIlJv\\1cnqM&pJC\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[\\S]b","KI\\1qEIlJv\\1cnqM&pJC\\1",[global])), 
    <<"gSDxa-bBtYNus">> = iolist_to_binary(re:replace("a-b","a[\\S]b","gSDx&BtYNus",[])), 
    <<"gSDxa-bBtYNus">> = iolist_to_binary(re:replace("a-b","a[\\S]b","gSDx&BtYNus",[global])), 
    <<"a b">> = iolist_to_binary(re:replace("a b","a[\\S]b","&h",[])), 
    <<"a b">> = iolist_to_binary(re:replace("a b","a[\\S]b","&h",[global])), 
    <<"ykt1W1">> = iolist_to_binary(re:replace("1","[\\d]","ykt&W&",[])), 
    <<"ykt1W1">> = iolist_to_binary(re:replace("1","[\\d]","ykt&W&",[global])), 
    <<"-a">> = iolist_to_binary(re:replace("-","[\\D]","&a",[])), 
    <<"-a">> = iolist_to_binary(re:replace("-","[\\D]","&a",[global])), 
    <<"*WbIHLJ** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\D]","&WbIHLJ",[])), 
    <<"*WbIHLJ*WbIHLJ*WbIHLJ WbIHLJFWbIHLJaWbIHLJiWbIHLJlWbIHLJeWbIHLJrWbIHLJsWbIHLJ">> = iolist_to_binary(re:replace("*** Failers","[\\D]","&WbIHLJ",[global])), 
    <<"-ktR-">> = iolist_to_binary(re:replace("-","[\\D]","&kt\\1\\1R&",[])), 
    <<"-ktR-">> = iolist_to_binary(re:replace("-","[\\D]","&kt\\1\\1R&",[global])), 
    <<"1">> = iolist_to_binary(re:replace("1","[\\D]","ux",[])), 
    <<"1">> = iolist_to_binary(re:replace("1","[\\D]","ux",[global])), 
    <<"qKHabdvc">> = iolist_to_binary(re:replace("abc","ab|cd","qKH&dv",[])), 
    <<"qKHabdvc">> = iolist_to_binary(re:replace("abc","ab|cd","qKH&dv",[global])), 
    <<"DUTiacd">> = iolist_to_binary(re:replace("abcd","ab|cd","DUTia",[])), 
    <<"DUTiaDUTia">> = iolist_to_binary(re:replace("abcd","ab|cd","DUTia",[global])), 
    <<"dydMawOaiUefuVTct">> = iolist_to_binary(re:replace("def","()ef","ydMawOai\\1U&\\1uVTct",[])), 
    <<"dydMawOaiUefuVTct">> = iolist_to_binary(re:replace("def","()ef","ydMawOai\\1U&\\1uVTct",[global])), 
    <<"sca(bMyXpsUtrgSD">> = iolist_to_binary(re:replace("a(b","a\\(b","sc&MyXpsUtrgSD",[])), 
    <<"sca(bMyXpsUtrgSD">> = iolist_to_binary(re:replace("a(b","a\\(b","sc&MyXpsUtrgSD",[global])), 
    <<"tkabU">> = iolist_to_binary(re:replace("ab","a\\(*b","tk&U\\1",[])), 
    <<"tkabU">> = iolist_to_binary(re:replace("ab","a\\(*b","tk&U\\1",[global])), 
    <<"dETFop">> = iolist_to_binary(re:replace("a((b","a\\(*b","dE\\1TFop\\1",[])), 
    <<"dETFop">> = iolist_to_binary(re:replace("a((b","a\\(*b","dE\\1TFop\\1",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","a\\\\b","&wTiaRcRV",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","a\\\\b","&wTiaRcRV",[global])), 
    <<"aDOaQaITtabc">> = iolist_to_binary(re:replace("abc","((a))","\\1DO\\1Q&ITt&",[])), 
    <<"aDOaQaITtabc">> = iolist_to_binary(re:replace("abc","((a))","\\1DO\\1Q&ITt&",[global])), 
    <<"SQSxbQRhSUBA">> = iolist_to_binary(re:replace("abc","(a)b(c)","SQSxbQRhSUBA",[])), 
    <<"SQSxbQRhSUBA">> = iolist_to_binary(re:replace("abc","(a)b(c)","SQSxbQRhSUBA",[global])), 
    <<"aabbKDx">> = iolist_to_binary(re:replace("aabbabc","a+b+c","KDx",[])), 
    <<"aabbKDx">> = iolist_to_binary(re:replace("aabbabc","a+b+c","KDx",[global])), 
    <<"aabbabcVFjoRUjDtvnALeSGQ">> = iolist_to_binary(re:replace("aabbabc","a{1,}b{1,}c","&VFjoRU\\1jDtvnALeSGQ",[])), 
    <<"aabbabcVFjoRUjDtvnALeSGQ">> = iolist_to_binary(re:replace("aabbabc","a{1,}b{1,}c","&VFjoRU\\1jDtvnALeSGQ",[global])), 
    <<"abcWvfQRkKyUAabc">> = iolist_to_binary(re:replace("abcabc","a.+?c","&WvfQRkK\\1y\\1UA",[])), 
    <<"abcWvfQRkKyUAabcWvfQRkKyUA">> = iolist_to_binary(re:replace("abcabc","a.+?c","&WvfQRkK\\1y\\1UA",[global])), 
    <<"jiaeNJbKxbe">> = iolist_to_binary(re:replace("ab","(a+|b)*","jiaeNJ\\1Kx\\1e",[])), 
    <<"jiaeNJbKxbejiaeNJKxe">> = iolist_to_binary(re:replace("ab","(a+|b)*","jiaeNJ\\1Kx\\1e",[global])), 
    <<"EVnwucab">> = iolist_to_binary(re:replace("ab","(a+|b){0,}","EVnwuc&",[])), 
    <<"EVnwucabEVnwuc">> = iolist_to_binary(re:replace("ab","(a+|b){0,}","EVnwuc&",[global])), 
    <<"aKTbabLK">> = iolist_to_binary(re:replace("ab","(a+|b)+","aKT\\1&LK",[])), 
    <<"aKTbabLK">> = iolist_to_binary(re:replace("ab","(a+|b)+","aKT\\1&LK",[global])), 
    ok.
run18() ->
    <<"RgGBbwcmabTgNL">> = iolist_to_binary(re:replace("ab","(a+|b){1,}","RgGB\\1wcm&TgNL",[])), 
    <<"RgGBbwcmabTgNL">> = iolist_to_binary(re:replace("ab","(a+|b){1,}","RgGB\\1wcm&TgNL",[global])), 
    <<"TawgaFaOxEylUb">> = iolist_to_binary(re:replace("ab","(a+|b)?","T&wg&F\\1OxEylU",[])), 
    <<"TawgaFaOxEylUTbwgbFbOxEylUTwgFOxEylU">> = iolist_to_binary(re:replace("ab","(a+|b)?","T&wg&F\\1OxEylU",[global])), 
    <<"aaaLnab">> = iolist_to_binary(re:replace("ab","(a+|b){0,1}","\\1&&Ln&",[])), 
    <<"aaaLnabbbLnbLn">> = iolist_to_binary(re:replace("ab","(a+|b){0,1}","\\1&&Ln&",[global])), 
    <<"slxWNnoiUcdeJcdercde">> = iolist_to_binary(re:replace("cde","[^ab]*","s\\1lxW\\1NnoiU\\1&J\\1&r&",[])), 
    <<"slxWNnoiUcdeJcdercdeslxWNnoiUJr">> = iolist_to_binary(re:replace("cde","[^ab]*","s\\1lxW\\1NnoiU\\1&J\\1&r&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","vVEiRHOJeg&j\\1CJbVaYo",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","vVEiRHOJeg&j\\1CJbVaYo",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","abc","G\\1tppsRP\\1RDSBHMk&kQ",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","abc","G\\1tppsRP\\1RDSBHMk&kQ",[global])), 
    <<"clNPcDSOUbWFhRtX">> = iolist_to_binary(re:replace("abbbcd","([abc])*d","\\1lNP\\1DSOUbWFhRtX",[])), 
    <<"clNPcDSOUbWFhRtX">> = iolist_to_binary(re:replace("abbbcd","([abc])*d","\\1lNP\\1DSOUbWFhRtX",[global])), 
    <<"bIaKUaabcdabcdjUqa">> = iolist_to_binary(re:replace("abcd","([abc])*bcd","bI\\1KU\\1&&jUq\\1",[])), 
    <<"bIaKUaabcdabcdjUqa">> = iolist_to_binary(re:replace("abcd","([abc])*bcd","bI\\1KU\\1&&jUq\\1",[global])), 
    <<"vBRef">> = iolist_to_binary(re:replace("e","a|b|c|d|e","vBR&f",[])), 
    <<"vBRef">> = iolist_to_binary(re:replace("e","a|b|c|d|e","vBR&f",[global])), 
    <<"eesSfPHTpUXDPv">> = iolist_to_binary(re:replace("ef","(a|b|c|d|e)f","\\1\\1sSfPHTpUXDPv",[])), 
    <<"eesSfPHTpUXDPv">> = iolist_to_binary(re:replace("ef","(a|b|c|d|e)f","\\1\\1sSfPHTpUXDPv",[global])), 
    <<"srtWRpRn">> = iolist_to_binary(re:replace("abcdefg","abcd*efg","sr\\1tWRpRn",[])), 
    <<"srtWRpRn">> = iolist_to_binary(re:replace("abcdefg","abcd*efg","sr\\1tWRpRn",[global])), 
    <<"xpLuYECabyabbbz">> = iolist_to_binary(re:replace("xabyabbbz","ab*","pLuYEC&",[])), 
    <<"xpLuYECabypLuYECabbbz">> = iolist_to_binary(re:replace("xabyabbbz","ab*","pLuYEC&",[global])), 
    <<"xGaaxBDcnaOuAXyabbbz">> = iolist_to_binary(re:replace("xayabbbz","ab*","G&&xBDc\\1n&O\\1\\1uAX\\1\\1\\1\\1",[])), 
    <<"xGaaxBDcnaOuAXyGabbbabbbxBDcnabbbOuAXz">> = iolist_to_binary(re:replace("xayabbbz","ab*","G&&xBDc\\1n&O\\1\\1uAX\\1\\1\\1\\1",[global])), 
    <<"abJiuiBBGK">> = iolist_to_binary(re:replace("abcde","(ab|cd)e","JiuiBBGK",[])), 
    <<"abJiuiBBGK">> = iolist_to_binary(re:replace("abcde","(ab|cd)e","JiuiBBGK",[global])), 
    <<"QIhijHNIh">> = iolist_to_binary(re:replace("hij","[abhgefdc]ij","QI\\1&HNI\\1h",[])), 
    <<"QIhijHNIh">> = iolist_to_binary(re:replace("hij","[abhgefdc]ij","QI\\1&HNI\\1h",[global])), 
    <<"abcdNy">> = iolist_to_binary(re:replace("abcdef","(abc|)ef","Ny",[])), 
    <<"abcdNy">> = iolist_to_binary(re:replace("abcdef","(abc|)ef","Ny",[global])), 
    <<"ahYR">> = iolist_to_binary(re:replace("abcd","(a|b)c*d","hYR",[])), 
    <<"ahYR">> = iolist_to_binary(re:replace("abcd","(a|b)c*d","hYR",[global])), 
    <<"LaabcUlMoCaAoluf">> = iolist_to_binary(re:replace("abc","(ab|ab*)bc","L\\1&UlMoC\\1Aoluf",[])), 
    <<"LaabcUlMoCaAoluf">> = iolist_to_binary(re:replace("abc","(ab|ab*)bc","L\\1&UlMoC\\1Aoluf",[global])), 
    <<"babcqrDkwikibc">> = iolist_to_binary(re:replace("abc","a([bc]*)c*","b&qrDkwiki\\1",[])), 
    <<"babcqrDkwikibc">> = iolist_to_binary(re:replace("abc","a([bc]*)c*","b&qrDkwiki\\1",[global])), 
    <<"VrVOACabcdHnObcsbc">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c*d)","VrVOAC&HnO\\1s\\1",[])), 
    <<"VrVOACabcdHnObcsbc">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c*d)","VrVOAC&HnO\\1s\\1",[global])), 
    ok.
run19() ->
    <<"KBrNXAjqQYabcdRvj">> = iolist_to_binary(re:replace("abcd","a([bc]+)(c*d)","KBrNXAjqQY&Rvj",[])), 
    <<"KBrNXAjqQYabcdRvj">> = iolist_to_binary(re:replace("abcd","a([bc]+)(c*d)","KBrNXAjqQY&Rvj",[global])), 
    <<"o">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c+d)","o",[])), 
    <<"o">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c+d)","o",[global])), 
    <<"mXgwSISPpB">> = iolist_to_binary(re:replace("adcdcde","a[bcd]*dcdcde","mXgw\\1S\\1ISPpB",[])), 
    <<"mXgwSISPpB">> = iolist_to_binary(re:replace("adcdcde","a[bcd]*dcdcde","mXgw\\1S\\1ISPpB",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bcd]+dcdcde","uJpSxOBN",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bcd]+dcdcde","uJpSxOBN",[global])), 
    <<"abcde">> = iolist_to_binary(re:replace("abcde","a[bcd]+dcdcde","aDD\\1OV",[])), 
    <<"abcde">> = iolist_to_binary(re:replace("abcde","a[bcd]+dcdcde","aDD\\1OV",[global])), 
    <<"adcdcde">> = iolist_to_binary(re:replace("adcdcde","a[bcd]+dcdcde","sSDdKN\\1SAhXJR\\1Xwp",[])), 
    <<"adcdcde">> = iolist_to_binary(re:replace("adcdcde","a[bcd]+dcdcde","sSDdKN\\1SAhXJR\\1Xwp",[global])), 
    <<"HHwQpababUNd">> = iolist_to_binary(re:replace("abc","(ab|a)b*c","HHwQp\\1\\1UNd",[])), 
    <<"HHwQpababUNd">> = iolist_to_binary(re:replace("abc","(ab|a)b*c","HHwQp\\1\\1UNd",[global])), 
    <<"kvabcDX">> = iolist_to_binary(re:replace("abcd","((a)(b)c)(d)","kv\\1DX",[])), 
    <<"kvabcDX">> = iolist_to_binary(re:replace("abcd","((a)(b)c)(d)","kv\\1DX",[global])), 
    <<"odmopDrikjpbalphaalphaV">> = iolist_to_binary(re:replace("alpha","[a-zA-Z_][a-zA-Z0-9_]*","odmop\\1Drikjpb\\1&&V",[])), 
    <<"odmopDrikjpbalphaalphaV">> = iolist_to_binary(re:replace("alpha","[a-zA-Z_][a-zA-Z0-9_]*","odmop\\1Drikjpb\\1&&V",[global])), 
    <<"aJBuUN">> = iolist_to_binary(re:replace("abh","^a(bc+|b[eh])g|.h$","JBuU\\1N",[])), 
    <<"aJBuUN">> = iolist_to_binary(re:replace("abh","^a(bc+|b[eh])g|.h$","JBuU\\1N",[global])), 
    <<"GeffgzTeffgzeffgzVpRCp">> = iolist_to_binary(re:replace("effgz","(bc+d$|ef*g.|h?i(j|k))","G\\1T\\1\\1VpRCp",[])), 
    <<"GeffgzTeffgzeffgzVpRCp">> = iolist_to_binary(re:replace("effgz","(bc+d$|ef*g.|h?i(j|k))","G\\1T\\1\\1VpRCp",[global])), 
    <<"aqNijfRFijIAijWeij">> = iolist_to_binary(re:replace("ij","(bc+d$|ef*g.|h?i(j|k))","aqN&fRF\\1IA\\1We&",[])), 
    <<"aqNijfRFijIAijWeij">> = iolist_to_binary(re:replace("ij","(bc+d$|ef*g.|h?i(j|k))","aqN&fRF\\1IA\\1We&",[global])), 
    <<"roTeffgzdfhkqWsMVteffgzL">> = iolist_to_binary(re:replace("reffgz","(bc+d$|ef*g.|h?i(j|k))","oT\\1dfhkqWsMVt&L",[])), 
    <<"roTeffgzdfhkqWsMVteffgzL">> = iolist_to_binary(re:replace("reffgz","(bc+d$|ef*g.|h?i(j|k))","oT\\1dfhkqWsMVt&L",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","Dq&f&xNUnXDDAU",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","Dq&f&xNUnXDDAU",[global])), 
    <<"effg">> = iolist_to_binary(re:replace("effg","(bc+d$|ef*g.|h?i(j|k))","qtqCY\\1k",[])), 
    <<"effg">> = iolist_to_binary(re:replace("effg","(bc+d$|ef*g.|h?i(j|k))","qtqCY\\1k",[global])), 
    <<"bcdd">> = iolist_to_binary(re:replace("bcdd","(bc+d$|ef*g.|h?i(j|k))","JuBrHsMekXgTKSL&",[])), 
    <<"bcdd">> = iolist_to_binary(re:replace("bcdd","(bc+d$|ef*g.|h?i(j|k))","JuBrHsMekXgTKSL&",[global])), 
    <<"aDaQVaKxbaaHaatahXTm">> = iolist_to_binary(re:replace("a","((((((((((a))))))))))","\\1DaQV&Kxb\\1\\1H\\1&t\\1hXTm",[])), 
    <<"aDaQVaKxbaaHaatahXTm">> = iolist_to_binary(re:replace("a","((((((((((a))))))))))","\\1DaQV&Kxb\\1\\1H\\1&t\\1hXTm",[global])), 
    <<"m">> = iolist_to_binary(re:replace("aa","((((((((((a))))))))))\\10","m",[])), 
    <<"m">> = iolist_to_binary(re:replace("aa","((((((((((a))))))))))\\10","m",[global])), 
    <<"jaakGadYaFafTMa">> = iolist_to_binary(re:replace("a","(((((((((a)))))))))","j\\1&kGadY&F\\1fTM\\1",[])), 
    <<"jaakGadYaFafTMa">> = iolist_to_binary(re:replace("a","(((((((((a)))))))))","j\\1&kGadY&F\\1fTM\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","WEPrQ&rD&usui\\1D\\1VY",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","WEPrQ&rD&usui\\1D\\1VY",[global])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","multiple words of text","&wQ\\1",[])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","multiple words of text","&wQ\\1",[global])), 
    <<"uh-uh">> = iolist_to_binary(re:replace("uh-uh","multiple words of text","SLs\\1",[])), 
    <<"uh-uh">> = iolist_to_binary(re:replace("uh-uh","multiple words of text","SLs\\1",[global])), 
    <<"CRemultiple wordsKmultiple wordsQICTcCoH, yeah">> = iolist_to_binary(re:replace("multiple words, yeah","multiple words","CRe&K&QICT\\1cCoH",[])), 
    <<"CRemultiple wordsKmultiple wordsQICTcCoH, yeah">> = iolist_to_binary(re:replace("multiple words, yeah","multiple words","CRe&K&QICT\\1cCoH",[global])), 
    <<"hsyabSabFJkfGRG">> = iolist_to_binary(re:replace("abcde","(.*)c(.*)","hsy\\1S\\1FJkfGRG",[])), 
    <<"hsyabSabFJkfGRG">> = iolist_to_binary(re:replace("abcde","(.*)c(.*)","hsy\\1S\\1FJkfGRG",[global])), 
    <<"aOu">> = iolist_to_binary(re:replace("(a, b)","\\((.*), (.*)\\)","\\1Ou",[])), 
    <<"aOu">> = iolist_to_binary(re:replace("(a, b)","\\((.*), (.*)\\)","\\1Ou",[global])), 
    <<"WCvfBkLabcd">> = iolist_to_binary(re:replace("abcd","abcd","WCvfBkL&",[])), 
    <<"WCvfBkLabcd">> = iolist_to_binary(re:replace("abcd","abcd","WCvfBkL&",[global])), 
    <<"bcNBWgjxabcdFGdbcabcdw">> = iolist_to_binary(re:replace("abcd","a(bc)d","\\1NBWgjx&FGd\\1&w",[])), 
    <<"bcNBWgjxabcdFGdbcabcdw">> = iolist_to_binary(re:replace("abcd","a(bc)d","\\1NBWgjx&FGd\\1&w",[global])), 
    <<"acx">> = iolist_to_binary(re:replace("ac","a[-]?c","&x\\1",[])), 
    <<"acx">> = iolist_to_binary(re:replace("ac","a[-]?c","&x\\1",[global])), 
    ok.
run20() ->
    <<"huMWbabcsRaEC">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","huMWb\\1sRaEC",[])), 
    <<"huMWbabcsRaEC">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","huMWb\\1sRaEC",[global])), 
    <<"iexabcabcabcabcNCHabcabcvuWaLb">> = iolist_to_binary(re:replace("abcabc","([a-c]*)\\1","iex&&NCH&vuWaLb",[])), 
    <<"iexabcabcabcabcNCHabcabcvuWaLbiexNCHvuWaLb">> = iolist_to_binary(re:replace("abcabc","([a-c]*)\\1","iex&&NCH&vuWaLb",[global])), 
    <<"yJihtasaOaRaI">> = iolist_to_binary(re:replace("a","(a)|\\1","yJihtas&O&R&I",[])), 
    <<"yJihtasaOaRaI">> = iolist_to_binary(re:replace("a","(a)|\\1","yJihtas&O&R&I",[global])), 
    <<"*** FIaHjkilers">> = iolist_to_binary(re:replace("*** Failers","(a)|\\1","I\\1Hjk",[])), 
    <<"*** FIaHjkilers">> = iolist_to_binary(re:replace("*** Failers","(a)|\\1","I\\1Hjk",[global])), 
    <<"EamavFGoBaaBPRaFOhib">> = iolist_to_binary(re:replace("ab","(a)|\\1","E\\1m\\1vFGoB\\1&BPR\\1FOhi",[])), 
    <<"EamavFGoBaaBPRaFOhib">> = iolist_to_binary(re:replace("ab","(a)|\\1","E\\1m\\1vFGoB\\1&BPR\\1FOhi",[global])), 
    <<"x">> = iolist_to_binary(re:replace("x","(a)|\\1","NnSvRd&pb",[])), 
    <<"x">> = iolist_to_binary(re:replace("x","(a)|\\1","NnSvRd&pb",[global])), 
    <<"uBuYmababbcqWpqxebcbc">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2)*","uBuYm&cqWpqxe",[])), 
    <<"uBuYmababbcqWpqxeuBuYmcqWpqxebuBuYmcbccqWpqxeuBuYmcqWpqxe">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2)*","uBuYm&cqWpqxe",[global])), 
    <<"EcbcOTScbccbc">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2){3}","E\\1OTS\\1\\1",[])), 
    <<"EcbcOTScbccbc">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2){3}","E\\1OTS\\1\\1",[global])), 
    <<"aaaxabaxbaaxMcBMqqECobbaxAWhbbax">> = iolist_to_binary(re:replace("aaaxabaxbaaxbbax","((\\3|b)\\2(a)x)+","McBMqqECo\\1AWh\\1",[])), 
    <<"aaaxabaxbaaxMcBMqqECobbaxAWhbbax">> = iolist_to_binary(re:replace("aaaxabaxbaaxbbax","((\\3|b)\\2(a)x)+","McBMqqECo\\1AWh\\1",[global])), 
    <<"bbaababbabaaaaaqjbbaaaabbabbaVgmcpcbbajpNX">> = iolist_to_binary(re:replace("bbaababbabaaaaabbaaaabba","((\\3|b)\\2(a)){2,}","qj&\\1Vgmcpc\\1jpNX",[])), 
    <<"bbaababbabaaaaaqjbbaaaabbabbaVgmcpcbbajpNX">> = iolist_to_binary(re:replace("bbaababbabaaaaabbaaaabba","((\\3|b)\\2(a)){2,}","qj&\\1Vgmcpc\\1jpNX",[global])), 
    <<"ABCyABCdyvLRsRMABCihr">> = iolist_to_binary(re:replace("ABC","abc","&y&dy\\1vLRsRM&ihr",[caseless])), 
    <<"ABCyABCdyvLRsRMABCihr">> = iolist_to_binary(re:replace("ABC","abc","&y&dy\\1vLRsRM&ihr",[caseless,
                                                                                                                                                                                             global])), 
    <<"XfgcwoIpABCY">> = iolist_to_binary(re:replace("XABCY","abc","fgcwoIp&",[caseless])), 
    <<"XfgcwoIpABCY">> = iolist_to_binary(re:replace("XABCY","abc","fgcwoIp&",[caseless,
                                                                                                                                                                          global])), 
    <<"ABWoWCFrcHpLABCpDF">> = iolist_to_binary(re:replace("ABABC","abc","WoW\\1CFrcHpL&p\\1DF",[caseless])), 
    <<"ABWoWCFrcHpLABCpDF">> = iolist_to_binary(re:replace("ABABC","abc","WoW\\1CFrcHpL&p\\1DF",[caseless,
                                                                                                                                                                                                    global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","\\1dHtGrvxuN&bjVI\\1LF&",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","\\1dHtGrvxuN&bjVI\\1LF&",[caseless,
                                                                                                                                                                                                                       global])), 
    <<"aaxabxbaxbbx">> = iolist_to_binary(re:replace("aaxabxbaxbbx","abc","FMCY&jfPDp&ePPmkBaNK",[caseless])), 
    <<"aaxabxbaxbbx">> = iolist_to_binary(re:replace("aaxabxbaxbbx","abc","FMCY&jfPDp&ePPmkBaNK",[caseless,
                                                                                                                                                                                                                 global])), 
    <<"XBC">> = iolist_to_binary(re:replace("XBC","abc","yK",[caseless])), 
    <<"XBC">> = iolist_to_binary(re:replace("XBC","abc","yK",[caseless,
                                                                                                                                                         global])), 
    <<"AXC">> = iolist_to_binary(re:replace("AXC","abc","y\\1Bxx\\1c",[caseless])), 
    <<"AXC">> = iolist_to_binary(re:replace("AXC","abc","y\\1Bxx\\1c",[caseless,
                                                                                                                                                                             global])), 
    <<"ABX">> = iolist_to_binary(re:replace("ABX","abc","&e\\1",[caseless])), 
    <<"ABX">> = iolist_to_binary(re:replace("ABX","abc","&e\\1",[caseless,
                                                                                                                                                                 global])), 
    <<"wIDivFpmRD">> = iolist_to_binary(re:replace("ABC","ab*c","w\\1IDivFpmRD",[caseless])), 
    <<"wIDivFpmRD">> = iolist_to_binary(re:replace("ABC","ab*c","w\\1IDivFpmRD",[caseless,
                                                                                                                                                                                  global])), 
    <<"mjJOdABCVwUnuEHfFUblABCE">> = iolist_to_binary(re:replace("ABC","ab*bc","mjJOd&VwUnuEHfFUbl&E",[caseless])), 
    <<"mjJOdABCVwUnuEHfFUblABCE">> = iolist_to_binary(re:replace("ABC","ab*bc","mjJOd&VwUnuEHfFUbl&E",[caseless,
                                                                                                                                                                                                   global])), 
    <<"aqlXiaaCABBCtGMyJr">> = iolist_to_binary(re:replace("ABBC","ab*bc","aqlXia\\1aC\\1&tGMyJr",[caseless])), 
    <<"aqlXiaaCABBCtGMyJr">> = iolist_to_binary(re:replace("ABBC","ab*bc","aqlXia\\1aC\\1&tGMyJr",[caseless,
                                                                                                                                                                                                        global])), 
    <<"QsHTFT">> = iolist_to_binary(re:replace("ABBBBC","ab*?bc","Q\\1sHTFT",[caseless])), 
    <<"QsHTFT">> = iolist_to_binary(re:replace("ABBBBC","ab*?bc","Q\\1sHTFT",[caseless,
                                                                                                                                                                                    global])), 
    <<"UdwHeAkxpFABBBBCTJI">> = iolist_to_binary(re:replace("ABBBBC","ab{0,}?bc","\\1UdwHeAk\\1xpF&\\1T\\1JI",[caseless])), 
    <<"UdwHeAkxpFABBBBCTJI">> = iolist_to_binary(re:replace("ABBBBC","ab{0,}?bc","\\1UdwHeAk\\1xpF&\\1T\\1JI",[caseless,
                                                                                                                                                                                                                                global])), 
    <<"paupnNUOYjABBCXABBC">> = iolist_to_binary(re:replace("ABBC","ab+?bc","pa\\1upnNUO\\1Yj&\\1X&",[caseless])), 
    <<"paupnNUOYjABBCXABBC">> = iolist_to_binary(re:replace("ABBC","ab+?bc","pa\\1upnNUO\\1Yj&\\1X&",[caseless,
                                                                                                                                                                                                              global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","uD\\1trygh\\1FV&xf&I",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","uD\\1trygh\\1FV&xf&I",[caseless,
                                                                                                                                                                                                                     global])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","ab+bc","&yTFr&\\1OfkVpLjJ",[caseless])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","ab+bc","&yTFr&\\1OfkVpLjJ",[caseless,
                                                                                                                                                                                              global])), 
    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab+bc","D\\1MfU\\1&",[caseless])), 
    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab+bc","D\\1MfU\\1&",[caseless,
                                                                                                                                                                                  global])), 
    <<"jLBDBABBBBCVABBBBCCLPUeBABBBBCE">> = iolist_to_binary(re:replace("ABBBBC","ab+bc","jLBDB&V&CLPU\\1eB&E",[caseless])), 
    <<"jLBDBABBBBCVABBBBCCLPUeBABBBBCE">> = iolist_to_binary(re:replace("ABBBBC","ab+bc","jLBDB&V&CLPU\\1eB&E",[caseless,
                                                                                                                                                                                                         global])), 
    <<"vXw">> = iolist_to_binary(re:replace("ABBBBC","ab{1,}?bc","vXw",[caseless])), 
    <<"vXw">> = iolist_to_binary(re:replace("ABBBBC","ab{1,}?bc","vXw",[caseless,
                                                                                                                                                                             global])), 
    <<"DE">> = iolist_to_binary(re:replace("ABBBBC","ab{1,3}?bc","DE",[caseless])), 
    <<"DE">> = iolist_to_binary(re:replace("ABBBBC","ab{1,3}?bc","DE",[caseless,
                                                                                                                                                                             global])), 
    <<"oIRAABBBBCABBBBCoXH">> = iolist_to_binary(re:replace("ABBBBC","ab{3,4}?bc","oIRA&&oXH",[caseless])), 
    <<"oIRAABBBBCABBBBCoXH">> = iolist_to_binary(re:replace("ABBBBC","ab{3,4}?bc","oIRA&&oXH",[caseless,
                                                                                                                                                                                             global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}?bc","&&JUwgUCSBcHYmFv&OQ",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}?bc","&&JUwgUCSBcHYmFv&OQ",[caseless,
                                                                                                                                                                                                                            global])), 
    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab{4,5}?bc","\\1&yu&\\1ps&A",[caseless])), 
    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab{4,5}?bc","\\1&yu&\\1ps&A",[caseless,
                                                                                                                                                                                                    global])), 
    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","ab{4,5}?bc","TgOJWMyTNuK&rOFr\\1n",[caseless])), 
    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","ab{4,5}?bc","TgOJWMyTNuK&rOFr\\1n",[caseless,
                                                                                                                                                                                                                   global])), 
    ok.
run21() ->
    <<"DxABBCYABBCEhABBCISWH">> = iolist_to_binary(re:replace("ABBC","ab??bc","Dx\\1&Y&E\\1h\\1&ISWH",[caseless])), 
    <<"DxABBCYABBCEhABBCISWH">> = iolist_to_binary(re:replace("ABBC","ab??bc","Dx\\1&Y&E\\1h\\1&ISWH",[caseless,
                                                                                                                                                                                                             global])), 
    <<"Qw">> = iolist_to_binary(re:replace("ABC","ab??bc","Qw",[caseless])), 
    <<"Qw">> = iolist_to_binary(re:replace("ABC","ab??bc","Qw",[caseless,
                                                                                                                                                               global])), 
    <<"O">> = iolist_to_binary(re:replace("ABC","ab{0,1}?bc","O",[caseless])), 
    <<"O">> = iolist_to_binary(re:replace("ABC","ab{0,1}?bc","O",[caseless,
                                                                                                                                                                     global])), 
    <<"vABCwErLBABCFLQaOAoABCJPx">> = iolist_to_binary(re:replace("ABC","ab??c","v&wErLB\\1&FLQaOAo&JPx",[caseless])), 
    <<"vABCwErLBABCFLQaOAoABCJPx">> = iolist_to_binary(re:replace("ABC","ab??c","v&wErLB\\1&FLQaOAo&JPx",[caseless,
                                                                                                                                                                                                         global])), 
    <<"lphGtTIqlw">> = iolist_to_binary(re:replace("ABC","ab{0,1}?c","lph\\1GtTIqlw",[caseless])), 
    <<"lphGtTIqlw">> = iolist_to_binary(re:replace("ABC","ab{0,1}?c","lph\\1GtTIqlw",[caseless,
                                                                                                                                                                                            global])), 
    <<"Ubn">> = iolist_to_binary(re:replace("ABC","^abc$","Ubn",[caseless])), 
    <<"Ubn">> = iolist_to_binary(re:replace("ABC","^abc$","Ubn",[caseless,
                                                                                                                                                                global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","&DcgWCx",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","&DcgWCx",[caseless,
                                                                                                                                                                                         global])), 
    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","^abc$","H",[caseless])), 
    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","^abc$","H",[caseless,
                                                                                                                                                                  global])), 
    <<"ABCC">> = iolist_to_binary(re:replace("ABCC","^abc$","NmNp",[caseless])), 
    <<"ABCC">> = iolist_to_binary(re:replace("ABCC","^abc$","NmNp",[caseless,
                                                                                                                                                                    global])), 
    <<"ABCABCSTBJNuWABCfUXC">> = iolist_to_binary(re:replace("ABCC","^abc","&&STBJNu\\1W\\1&fUX",[caseless])), 
    <<"ABCABCSTBJNuWABCfUXC">> = iolist_to_binary(re:replace("ABCC","^abc","&&STBJNu\\1W\\1&fUX",[caseless,
                                                                                                                                                                                                    global])), 
    <<"Aotm">> = iolist_to_binary(re:replace("AABC","abc$","otm\\1",[caseless])), 
    <<"Aotm">> = iolist_to_binary(re:replace("AABC","abc$","otm\\1",[caseless,
                                                                                                                                                                       global])), 
    <<"wnRBtWpABC">> = iolist_to_binary(re:replace("ABC","^","\\1wnR\\1Bt\\1Wp",[caseless])), 
    <<"wnRBtWpABC">> = iolist_to_binary(re:replace("ABC","^","\\1wnR\\1Bt\\1Wp",[caseless,
                                                                                                                                                                                    global])), 
    <<"ABCcfCNQPaSTn">> = iolist_to_binary(re:replace("ABC","$","\\1\\1\\1cfCNQPaST\\1n",[caseless])), 
    <<"ABCcfCNQPaSTn">> = iolist_to_binary(re:replace("ABC","$","\\1\\1\\1cfCNQPaST\\1n",[caseless,
                                                                                                                                                                                                  global])), 
    <<"KqbIu">> = iolist_to_binary(re:replace("ABC","a.c","KqbIu\\1",[caseless])), 
    <<"KqbIu">> = iolist_to_binary(re:replace("ABC","a.c","KqbIu\\1",[caseless,
                                                                                                                                                                      global])), 
    <<"mSBBDWnWtWlJVLdWWAXC">> = iolist_to_binary(re:replace("AXC","a.c","mSBBDWnWtWlJVLdWW\\1&\\1",[caseless])), 
    <<"mSBBDWnWtWlJVLdWWAXC">> = iolist_to_binary(re:replace("AXC","a.c","mSBBDWnWtWlJVLdWW\\1&\\1",[caseless,
                                                                                                                                                                                                        global])), 
    <<"gIkgDqEBaPTmSAXYZC">> = iolist_to_binary(re:replace("AXYZC","a.*?c","gIkgDq\\1EBa\\1PTmS&",[caseless])), 
    <<"gIkgDqEBaPTmSAXYZC">> = iolist_to_binary(re:replace("AXYZC","a.*?c","gIkgDq\\1EBa\\1PTmS&",[caseless,
                                                                                                                                                                                                        global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.*c","Sg&&rIwBxW&MAd",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.*c","Sg&&rIwBxW&MAd",[caseless,
                                                                                                                                                                                                      global])), 
    <<"IkVJFLsCAABCqbiO">> = iolist_to_binary(re:replace("AABC","a.*c","\\1\\1IkVJFLsC\\1&qbiO",[caseless])), 
    <<"IkVJFLsCAABCqbiO">> = iolist_to_binary(re:replace("AABC","a.*c","\\1\\1IkVJFLsC\\1&qbiO",[caseless,
                                                                                                                                                                                                         global])), 
    <<"AXYZD">> = iolist_to_binary(re:replace("AXYZD","a.*c","&r",[caseless])), 
    <<"AXYZD">> = iolist_to_binary(re:replace("AXYZD","a.*c","&r",[caseless,
                                                                                                                                                                global])), 
    <<"mABDJFh">> = iolist_to_binary(re:replace("ABD","a[bc]d","m&J\\1\\1Fh",[caseless])), 
    <<"mABDJFh">> = iolist_to_binary(re:replace("ABD","a[bc]d","m&J\\1\\1Fh",[caseless,
                                                                                                                                                                                    global])), 
    <<"ysVqaiqxHWEb">> = iolist_to_binary(re:replace("ACE","a[b-d]e","ys\\1\\1Vqai\\1qx\\1HWEb",[caseless])), 
    <<"ysVqaiqxHWEb">> = iolist_to_binary(re:replace("ACE","a[b-d]e","ys\\1\\1Vqai\\1qx\\1HWEb",[caseless,
                                                                                                                                                                                                                 global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[b-d]e","\\1eIyFD\\1",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[b-d]e","\\1eIyFD\\1",[caseless,
                                                                                                                                                                                                     global])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","a[b-d]e","UU&&GPw&AHE",[caseless])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","a[b-d]e","UU&&GPw&AHE",[caseless,
                                                                                                                                                                                      global])), 
    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[b-d]e","SKAyypUXUE\\1IHTdcqv&r",[caseless])), 
    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[b-d]e","SKAyypUXUE\\1IHTdcqv&r",[caseless,
                                                                                                                                                                                                           global])), 
    <<"AqACkKluACPPACf">> = iolist_to_binary(re:replace("AAC","a[b-d]","q&kKlu&PP&f",[caseless])), 
    <<"AqACkKluACPPACf">> = iolist_to_binary(re:replace("AAC","a[b-d]","q&kKlu&PP&f",[caseless,
                                                                                                                                                                                    global])), 
    <<"A-Wnm">> = iolist_to_binary(re:replace("A-","a[-b]","&Wnm",[caseless])), 
    <<"A-Wnm">> = iolist_to_binary(re:replace("A-","a[-b]","&Wnm",[caseless,
                                                                                                                                                                global])), 
    <<"paPAAKruyA-Wwd">> = iolist_to_binary(re:replace("A-","a[b-]","paPAAKruy&Wwd",[caseless])), 
    <<"paPAAKruyA-Wwd">> = iolist_to_binary(re:replace("A-","a[b-]","paPAAKruy&Wwd",[caseless,
                                                                                                                                                                                  global])), 
    <<"ImJu">> = iolist_to_binary(re:replace("A]","a]","I\\1m\\1Ju",[caseless])), 
    <<"ImJu">> = iolist_to_binary(re:replace("A]","a]","I\\1m\\1Ju",[caseless,
                                                                                                                                                                       global])), 
    ok.
run22() ->
    <<"kdsETioUcshOFDldx">> = iolist_to_binary(re:replace("A]B","a[]]b","k\\1dsET\\1ioU\\1cshOFDldx",[caseless])), 
    <<"kdsETioUcshOFDldx">> = iolist_to_binary(re:replace("A]B","a[]]b","k\\1dsET\\1ioU\\1cshOFDldx",[caseless,
                                                                                                                                                                                                                global])), 
    <<"uv">> = iolist_to_binary(re:replace("AED","a[^bc]d","uv\\1",[caseless])), 
    <<"uv">> = iolist_to_binary(re:replace("AED","a[^bc]d","uv\\1",[caseless,
                                                                                                                                                                        global])), 
    <<"l">> = iolist_to_binary(re:replace("ADC","a[^-b]c","l",[caseless])), 
    <<"l">> = iolist_to_binary(re:replace("ADC","a[^-b]c","l",[caseless,
                                                                                                                                                               global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^-b]c","vyfP\\1yX\\1onrR&f\\1\\1J&",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^-b]c","vyfP\\1yX\\1onrR&f\\1\\1J&",[caseless,
                                                                                                                                                                                                                                       global])), 
    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[^-b]c","gE&RxnGk&&\\1\\1mK",[caseless])), 
    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[^-b]c","gE&RxnGk&&\\1\\1mK",[caseless,
                                                                                                                                                                                                      global])), 
    <<"A-C">> = iolist_to_binary(re:replace("A-C","a[^-b]c","xJw&DKvLJC",[caseless])), 
    <<"A-C">> = iolist_to_binary(re:replace("A-C","a[^-b]c","xJw&DKvLJC",[caseless,
                                                                                                                                                                                  global])), 
    <<"gm">> = iolist_to_binary(re:replace("ADC","a[^]b]c","gm",[caseless])), 
    <<"gm">> = iolist_to_binary(re:replace("ADC","a[^]b]c","gm",[caseless,
                                                                                                                                                                 global])), 
    <<"RrLABABABUVLUehwC">> = iolist_to_binary(re:replace("ABC","ab|cd","RrL\\1&&&UVLUehw",[caseless])), 
    <<"RrLABABABUVLUehwC">> = iolist_to_binary(re:replace("ABC","ab|cd","RrL\\1&&&UVLUehw",[caseless,
                                                                                                                                                                                             global])), 
    <<"giABOABABqXGgxFhABdprogCD">> = iolist_to_binary(re:replace("ABCD","ab|cd","gi&O&&qXGgxFh&dprog",[caseless])), 
    <<"giABOABABqXGgxFhABdproggiCDOCDCDqXGgxFhCDdprog">> = iolist_to_binary(re:replace("ABCD","ab|cd","gi&O&&qXGgxFh&dprog",[caseless,
                                                                                                                                                                                                     global])), 
    <<"DqEFRtXCOkEFdCHWAxqmEF">> = iolist_to_binary(re:replace("DEF","()ef","q&Rt\\1XCOk&dCHWAxqm&",[caseless])), 
    <<"DqEFRtXCOkEFdCHWAxqmEF">> = iolist_to_binary(re:replace("DEF","()ef","q&Rt\\1XCOk&dCHWAxqm&",[caseless,
                                                                                                                                                                                                     global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","$b","e&y",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","$b","e&y",[caseless,
                                                                                                                                                                            global])), 
    <<"A]C">> = iolist_to_binary(re:replace("A]C","$b","Mu&NYopF&e\\1u",[caseless])), 
    <<"A]C">> = iolist_to_binary(re:replace("A]C","$b","Mu&NYopF&e\\1u",[caseless,
                                                                                                                                                                                    global])), 
    <<"B">> = iolist_to_binary(re:replace("B","$b","PgdiGyTFyntpg\\1",[caseless])), 
    <<"B">> = iolist_to_binary(re:replace("B","$b","PgdiGyTFyntpg\\1",[caseless,
                                                                                                                                                                                  global])), 
    <<"h">> = iolist_to_binary(re:replace("A(B","a\\(b","h",[caseless])), 
    <<"h">> = iolist_to_binary(re:replace("A(B","a\\(b","h",[caseless,
                                                                                                                                                            global])), 
    <<"UwxbpwNvAsyQI">> = iolist_to_binary(re:replace("AB","a\\(*b","\\1UwxbpwNvAsyQI",[caseless])), 
    <<"UwxbpwNvAsyQI">> = iolist_to_binary(re:replace("AB","a\\(*b","\\1UwxbpwNvAsyQI",[caseless,
                                                                                                                                                                                           global])), 
    <<"M">> = iolist_to_binary(re:replace("A((B","a\\(*b","M",[caseless])), 
    <<"M">> = iolist_to_binary(re:replace("A((B","a\\(*b","M",[caseless,
                                                                                                                                                                global])), 
    <<"A">> = iolist_to_binary(re:replace("A","a\\\\b","h&t",[caseless,
                                                                                                                                                               notbol])), 
    <<"A">> = iolist_to_binary(re:replace("A","a\\\\b","h&t",[caseless,
                                                                                                                                                                notbol,
                                                                                                                                                                global])), 
    <<"vMPmAAlHguqIoSmcuudIBC">> = iolist_to_binary(re:replace("ABC","((a))","vMPm\\1&lHguqIoSmcuudI",[caseless])), 
    <<"vMPmAAlHguqIoSmcuudIBC">> = iolist_to_binary(re:replace("ABC","((a))","vMPm\\1&lHguqIoSmcuudI",[caseless,
                                                                                                                                                                                                       global])), 
    <<"RhLw">> = iolist_to_binary(re:replace("ABC","(a)b(c)","RhLw",[caseless])), 
    <<"RhLw">> = iolist_to_binary(re:replace("ABC","(a)b(c)","RhLw",[caseless,
                                                                                                                                                                     global])), 
    <<"AABBABCJqvleABCABCoABCmABCFUTm">> = iolist_to_binary(re:replace("AABBABC","a+b+c","&Jqvle\\1&&o&m&FUTm",[caseless])), 
    <<"AABBABCJqvleABCABCoABCmABCFUTm">> = iolist_to_binary(re:replace("AABBABC","a+b+c","&Jqvle\\1&&o&m&FUTm",[caseless,
                                                                                                                                                                                                             global])), 
    <<"AABBac">> = iolist_to_binary(re:replace("AABBABC","a{1,}b{1,}c","ac",[caseless])), 
    <<"AABBac">> = iolist_to_binary(re:replace("AABBABC","a{1,}b{1,}c","ac",[caseless,
                                                                                                                                                                                 global])), 
    <<"OABC">> = iolist_to_binary(re:replace("ABCABC","a.+?c","O",[caseless])), 
    <<"OO">> = iolist_to_binary(re:replace("ABCABC","a.+?c","O",[caseless,
                                                                                                                                                                 global])), 
    <<"scmlABC">> = iolist_to_binary(re:replace("ABCABC","a.*?c","scml",[caseless])), 
    <<"scmlscml">> = iolist_to_binary(re:replace("ABCABC","a.*?c","scml",[caseless,
                                                                                                                                                                       global])), 
    <<"lPmBjogUPNEABC">> = iolist_to_binary(re:replace("ABCABC","a.{0,5}?c","lPmB\\1jogUPNE\\1",[caseless])), 
    <<"lPmBjogUPNElPmBjogUPNE">> = iolist_to_binary(re:replace("ABCABC","a.{0,5}?c","lPmB\\1jogUPNE\\1",[caseless,
                                                                                                                                                                                                           global])), 
    <<"lytYeABWABABFmABccWBV">> = iolist_to_binary(re:replace("AB","(a+|b)*","lytYe&W&&Fm&ccW\\1V",[caseless])), 
    <<"lytYeABWABABFmABccWBVlytYeWFmccWV">> = iolist_to_binary(re:replace("AB","(a+|b)*","lytYe&W&&Fm&ccW\\1V",[caseless,
                                                                                                                                                                                                      global])), 
    <<"BBq">> = iolist_to_binary(re:replace("AB","(a+|b){0,}","\\1\\1q",[caseless])), 
    <<"BBqq">> = iolist_to_binary(re:replace("AB","(a+|b){0,}","\\1\\1q",[caseless,
                                                                                                                                                                                 global])), 
    <<"xBPvBwqaXlIBysBBNnQs">> = iolist_to_binary(re:replace("AB","(a+|b)+","x\\1Pv\\1wqaXlIBys\\1BNnQs",[caseless])), 
    <<"xBPvBwqaXlIBysBBNnQs">> = iolist_to_binary(re:replace("AB","(a+|b)+","x\\1Pv\\1wqaXlIBys\\1BNnQs",[caseless,
                                                                                                                                                                                                                  global])), 
    ok.
run23() ->
    <<"vJrBABXpcvqi">> = iolist_to_binary(re:replace("AB","(a+|b){1,}","vJr\\1&Xpcvqi",[caseless])), 
    <<"vJrBABXpcvqi">> = iolist_to_binary(re:replace("AB","(a+|b){1,}","vJr\\1&Xpcvqi",[caseless,
                                                                                                                                                                                             global])), 
    <<"hAKhhwB">> = iolist_to_binary(re:replace("AB","(a+|b)?","h&Khhw",[caseless])), 
    <<"hAKhhwhBKhhwhKhhw">> = iolist_to_binary(re:replace("AB","(a+|b)?","h&Khhw",[caseless,
                                                                                                                                                                        global])), 
    <<"rfOTAksYhKEDAAKAoWuB">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}","rfOT\\1ksYhKED&&K\\1oWu",[caseless])), 
    <<"rfOTAksYhKEDAAKAoWurfOTBksYhKEDBBKBoWurfOTksYhKEDKoWu">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}","rfOT\\1ksYhKED&&K\\1oWu",[caseless,
                                                                                                                                                                                                                     global])), 
    <<"MGbpmvAB">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}?","\\1MGbpmv",[caseless])), 
    <<"MGbpmvAMGbpmvMGbpmvBMGbpmvMGbpmv">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}?","\\1MGbpmv",[caseless,
                                                                                                                                                                                        global])), 
    <<"udAFEstNiUeKkd">> = iolist_to_binary(re:replace("CDE","[^ab]*","udAFEstNiUeKkd",[caseless])), 
    <<"udAFEstNiUeKkdudAFEstNiUeKkd">> = iolist_to_binary(re:replace("CDE","[^ab]*","udAFEstNiUeKkd",[caseless,
                                                                                                                                                                                       global])), 
    <<"ABBBCDvDABBBCDABBBCDGllMCdwv">> = iolist_to_binary(re:replace("ABBBCD","([abc])*d","&vD&&GllMCdwv",[caseless])), 
    <<"ABBBCDvDABBBCDABBBCDGllMCdwv">> = iolist_to_binary(re:replace("ABBBCD","([abc])*d","&vD&&GllMCdwv",[caseless,
                                                                                                                                                                                                    global])), 
    <<"SAABCDbA">> = iolist_to_binary(re:replace("ABCD","([abc])*bcd","S\\1&b\\1",[caseless])), 
    <<"SAABCDbA">> = iolist_to_binary(re:replace("ABCD","([abc])*bcd","S\\1&b\\1",[caseless,
                                                                                                                                                                                            global])), 
    <<"COkGEqEpREwm">> = iolist_to_binary(re:replace("E","a|b|c|d|e","COkG&q&pR&wm\\1",[caseless])), 
    <<"COkGEqEpREwm">> = iolist_to_binary(re:replace("E","a|b|c|d|e","COkG&q&pR&wm\\1",[caseless,
                                                                                                                                                                                               global])), 
    <<"EFEYUF">> = iolist_to_binary(re:replace("EF","(a|b|c|d|e)f","&\\1YUF",[caseless])), 
    <<"EFEYUF">> = iolist_to_binary(re:replace("EF","(a|b|c|d|e)f","&\\1YUF",[caseless,
                                                                                                                                                                                     global])), 
    <<"keABCDEFGn">> = iolist_to_binary(re:replace("ABCDEFG","abcd*efg","\\1ke&n",[caseless])), 
    <<"keABCDEFGn">> = iolist_to_binary(re:replace("ABCDEFG","abcd*efg","\\1ke&n",[caseless,
                                                                                                                                                                                       global])), 
    <<"XTpYABBBZ">> = iolist_to_binary(re:replace("XABYABBBZ","ab*","Tp",[caseless])), 
    <<"XTpYTpZ">> = iolist_to_binary(re:replace("XABYABBBZ","ab*","Tp",[caseless,
                                                                                                                                                                     global])), 
    <<"XcWRYABBBZ">> = iolist_to_binary(re:replace("XAYABBBZ","ab*","cWR\\1",[caseless])), 
    <<"XcWRYcWRZ">> = iolist_to_binary(re:replace("XAYABBBZ","ab*","cWR\\1",[caseless,
                                                                                                                                                                            global])), 
    <<"ABICDg">> = iolist_to_binary(re:replace("ABCDE","(ab|cd)e","I\\1g",[caseless])), 
    <<"ABICDg">> = iolist_to_binary(re:replace("ABCDE","(ab|cd)e","I\\1g",[caseless,
                                                                                                                                                                              global])), 
    <<"HIJe">> = iolist_to_binary(re:replace("HIJ","[abhgefdc]ij","&\\1e",[caseless])), 
    <<"HIJe">> = iolist_to_binary(re:replace("HIJ","[abhgefdc]ij","&\\1e",[caseless,
                                                                                                                                                                                   global])), 
    <<"ABCDE">> = iolist_to_binary(re:replace("ABCDE","^(ab|cd)e","YHPf",[caseless])), 
    <<"ABCDE">> = iolist_to_binary(re:replace("ABCDE","^(ab|cd)e","YHPf",[caseless,
                                                                                                                                                                             global])), 
    <<"ABCDqDYnUXHWSlxXQRHVxU">> = iolist_to_binary(re:replace("ABCDEF","(abc|)ef","qDYnUXHWSlxXQRHVxU\\1",[caseless])), 
    <<"ABCDqDYnUXHWSlxXQRHVxU">> = iolist_to_binary(re:replace("ABCDEF","(abc|)ef","qDYnUXHWSlxXQRHVxU\\1",[caseless,
                                                                                                                                                                                                                global])), 
    <<"ApMu">> = iolist_to_binary(re:replace("ABCD","(a|b)c*d","pMu",[caseless])), 
    <<"ApMu">> = iolist_to_binary(re:replace("ABCD","(a|b)c*d","pMu",[caseless,
                                                                                                                                                                       global])), 
    <<"ntLDenfA">> = iolist_to_binary(re:replace("ABC","(ab|ab*)bc","ntLDenf\\1",[caseless])), 
    <<"ntLDenfA">> = iolist_to_binary(re:replace("ABC","(ab|ab*)bc","ntLDenf\\1",[caseless,
                                                                                                                                                                                        global])), 
    <<"kBC">> = iolist_to_binary(re:replace("ABC","a([bc]*)c*","k\\1",[caseless])), 
    <<"kBC">> = iolist_to_binary(re:replace("ABC","a([bc]*)c*","k\\1",[caseless,
                                                                                                                                                                            global])), 
    ok.
run24() ->
    <<"dDECvKABCDBCABCDKBC">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c*d)","dDECvK&\\1&K\\1",[caseless])), 
    <<"dDECvKABCDBCABCDKBC">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c*d)","dDECvK&\\1&K\\1",[caseless,
                                                                                                                                                                                                             global])), 
    <<"BCVkXABCDROnLhn">> = iolist_to_binary(re:replace("ABCD","a([bc]+)(c*d)","\\1VkX&ROnLhn",[caseless])), 
    <<"BCVkXABCDROnLhn">> = iolist_to_binary(re:replace("ABCD","a([bc]+)(c*d)","\\1VkX&ROnLhn",[caseless,
                                                                                                                                                                                                       global])), 
    <<"sABCDfIigwcUBfcAtBAdBd">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c+d)","s&fIigwcU\\1fcAt\\1Ad\\1d",[caseless])), 
    <<"sABCDfIigwcUBfcAtBAdBd">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c+d)","s&fIigwcU\\1fcAt\\1Ad\\1d",[caseless,
                                                                                                                                                                                                                                 global])), 
    <<"wkVJSCADCDCDEbeusn">> = iolist_to_binary(re:replace("ADCDCDE","a[bcd]*dcdcde","w\\1kVJSC&beus\\1\\1n",[caseless])), 
    <<"wkVJSCADCDCDEbeusn">> = iolist_to_binary(re:replace("ADCDCDE","a[bcd]*dcdcde","w\\1kVJSC&beus\\1\\1n",[caseless,
                                                                                                                                                                                                                               global])), 
    <<"fIEmgxyABXgAmoxnNTABCb">> = iolist_to_binary(re:replace("ABC","(ab|a)b*c","fIEmgxy\\1XgAmoxnNT&b",[caseless])), 
    <<"fIEmgxyABXgAmoxnNTABCb">> = iolist_to_binary(re:replace("ABC","(ab|a)b*c","fIEmgxy\\1XgAmoxnNT&b",[caseless,
                                                                                                                                                                                                             global])), 
    <<"YSwweMKEtREGmRxABCEp">> = iolist_to_binary(re:replace("ABCD","((a)(b)c)(d)","YSwweMKEtREGmRx\\1Ep",[caseless])), 
    <<"YSwweMKEtREGmRxABCEp">> = iolist_to_binary(re:replace("ABCD","((a)(b)c)(d)","YSwweMKEtREGmRx\\1Ep",[caseless,
                                                                                                                                                                                                                  global])), 
    <<"JMWvNALPHAHEALPHAgTLgLgw">> = iolist_to_binary(re:replace("ALPHA","[a-zA-Z_][a-zA-Z0-9_]*","JMWvN&HE&\\1gTLgLgw",[caseless])), 
    <<"JMWvNALPHAHEALPHAgTLgLgw">> = iolist_to_binary(re:replace("ALPHA","[a-zA-Z_][a-zA-Z0-9_]*","JMWvN&HE&\\1gTLgLgw",[caseless,
                                                                                                                                                                                                                                        global])), 
    <<"ALoaDSHAABHcNcg">> = iolist_to_binary(re:replace("ABH","^a(bc+|b[eh])g|.h$","LoaDSHAA&c\\1Ncg",[caseless])), 
    <<"ALoaDSHAABHcNcg">> = iolist_to_binary(re:replace("ABH","^a(bc+|b[eh])g|.h$","LoaDSHAA&c\\1Ncg",[caseless,
                                                                                                                                                                                                                      global])), 
    <<"AWnYrnkPEFFGZ">> = iolist_to_binary(re:replace("EFFGZ","(bc+d$|ef*g.|h?i(j|k))","AWnYrnkP&",[caseless])), 
    <<"AWnYrnkPEFFGZ">> = iolist_to_binary(re:replace("EFFGZ","(bc+d$|ef*g.|h?i(j|k))","AWnYrnkP&",[caseless,
                                                                                                                                                                                                                   global])), 
    <<"iIJYPJxCXsht">> = iolist_to_binary(re:replace("IJ","(bc+d$|ef*g.|h?i(j|k))","i&YPJxCXsht",[caseless])), 
    <<"iIJYPJxCXsht">> = iolist_to_binary(re:replace("IJ","(bc+d$|ef*g.|h?i(j|k))","i&YPJxCXsht",[caseless,
                                                                                                                                                                                                                 global])), 
    <<"ROdSmgEnEFFGZbUEFFGZxEFFGZEFFGZjiEFFGZD">> = iolist_to_binary(re:replace("REFFGZ","(bc+d$|ef*g.|h?i(j|k))","OdSmgEn&bU&x&&ji\\1D",[caseless])), 
    <<"ROdSmgEnEFFGZbUEFFGZxEFFGZEFFGZjiEFFGZD">> = iolist_to_binary(re:replace("REFFGZ","(bc+d$|ef*g.|h?i(j|k))","OdSmgEn&bU&x&&ji\\1D",[caseless,
                                                                                                                                                                                                                                               global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","ITOSQR&JRMPdo",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","ITOSQR&JRMPdo",[caseless,
                                                                                                                                                                                                                                       global])), 
    <<"ADCDCDE">> = iolist_to_binary(re:replace("ADCDCDE","(bc+d$|ef*g.|h?i(j|k))","Vy&&ec&TLeQ",[caseless])), 
    <<"ADCDCDE">> = iolist_to_binary(re:replace("ADCDCDE","(bc+d$|ef*g.|h?i(j|k))","Vy&&ec&TLeQ",[caseless,
                                                                                                                                                                                                                             global])), 
    <<"EFFG">> = iolist_to_binary(re:replace("EFFG","(bc+d$|ef*g.|h?i(j|k))","PCmRtstvtrOjn",[caseless])), 
    <<"EFFG">> = iolist_to_binary(re:replace("EFFG","(bc+d$|ef*g.|h?i(j|k))","PCmRtstvtrOjn",[caseless,
                                                                                                                                                                                                                        global])), 
    <<"BCDD">> = iolist_to_binary(re:replace("BCDD","(bc+d$|ef*g.|h?i(j|k))","Sa\\1",[caseless])), 
    <<"BCDD">> = iolist_to_binary(re:replace("BCDD","(bc+d$|ef*g.|h?i(j|k))","Sa\\1",[caseless,
                                                                                                                                                                                                         global])), 
    <<"ApAYGkIxvjAQAXrHAAD">> = iolist_to_binary(re:replace("A","((((((((((a))))))))))","\\1p&YGkIxvjAQ&XrH\\1\\1D",[caseless])), 
    <<"ApAYGkIxvjAQAXrHAAD">> = iolist_to_binary(re:replace("A","((((((((((a))))))))))","\\1p&YGkIxvjAQ&XrH\\1\\1D",[caseless,
                                                                                                                                                                                                                                            global])), 
    <<"ggQ">> = iolist_to_binary(re:replace("AA","((((((((((a))))))))))\\10","ggQ",[caseless])), 
    <<"ggQ">> = iolist_to_binary(re:replace("AA","((((((((((a))))))))))\\10","ggQ",[caseless,
                                                                                                                                                                                                      global])), 
    <<"hdkAdxeeAQGHCDfdU">> = iolist_to_binary(re:replace("A","(((((((((a)))))))))","hdk\\1dxee\\1QGHCDfdU",[caseless])), 
    <<"hdkAdxeeAQGHCDfdU">> = iolist_to_binary(re:replace("A","(((((((((a)))))))))","hdk\\1dxee\\1QGHCDfdU",[caseless,
                                                                                                                                                                                                                             global])), 
    <<"fnjTAfWdAoA">> = iolist_to_binary(re:replace("A","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))","fnjT\\1fWd\\1o&",[caseless])), 
    <<"fnjTAfWdAoA">> = iolist_to_binary(re:replace("A","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))","fnjT\\1fWd\\1o&",[caseless,
                                                                                                                                                                                                                                                          global])), 
    <<"GqCEOfPIdb">> = iolist_to_binary(re:replace("C","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))","Gq\\1EOfPIdb",[caseless])), 
    <<"GqCEOfPIdb">> = iolist_to_binary(re:replace("C","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))","Gq\\1EOfPIdb",[caseless,
                                                                                                                                                                                                                                                          global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","Q&",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","Q&",[caseless,
                                                                                                                                                                                                                global])), 
    <<"AA">> = iolist_to_binary(re:replace("AA","multiple words of text","gEn\\1",[caseless])), 
    <<"AA">> = iolist_to_binary(re:replace("AA","multiple words of text","gEn\\1",[caseless,
                                                                                                                                                                                                      global])), 
    <<"UH-UH">> = iolist_to_binary(re:replace("UH-UH","multiple words of text","P\\1ls&muNytHsf",[caseless])), 
    <<"UH-UH">> = iolist_to_binary(re:replace("UH-UH","multiple words of text","P\\1ls&muNytHsf",[caseless,
                                                                                                                                                                                                                               global])), 
    <<"SJgPidMULTIPLE WORDS, YEAH">> = iolist_to_binary(re:replace("MULTIPLE WORDS, YEAH","multiple words","SJgPid&",[caseless])), 
    <<"SJgPidMULTIPLE WORDS, YEAH">> = iolist_to_binary(re:replace("MULTIPLE WORDS, YEAH","multiple words","SJgPid&",[caseless,
                                                                                                                                                                                                                            global])), 
    <<"NJFRwABCDEpl">> = iolist_to_binary(re:replace("ABCDE","(.*)c(.*)","NJFRw&pl",[caseless])), 
    <<"NJFRwABCDEpl">> = iolist_to_binary(re:replace("ABCDE","(.*)c(.*)","NJFRw&pl",[caseless,
                                                                                                                                                                                      global])), 
    <<"(A, B)E">> = iolist_to_binary(re:replace("(A, B)","\\((.*), (.*)\\)","&E",[caseless])), 
    <<"(A, B)E">> = iolist_to_binary(re:replace("(A, B)","\\((.*), (.*)\\)","&E",[caseless,
                                                                                                                                                                                            global])), 
    ok.
run25() ->
    <<"owcnsqyFeABCDEQABCD">> = iolist_to_binary(re:replace("ABCD","abcd","owcnsqyFe&EQ&",[caseless])), 
    <<"owcnsqyFeABCDEQABCD">> = iolist_to_binary(re:replace("ABCD","abcd","owcnsqyFe&EQ&",[caseless,
                                                                                                                                                                                     global])), 
    <<"ruKABCDABCDABCDjGNABCDoQdaABCDO">> = iolist_to_binary(re:replace("ABCD","a(bc)d","ruK&&&jGN&oQda&O",[caseless])), 
    <<"ruKABCDABCDABCDjGNABCDoQdaABCDO">> = iolist_to_binary(re:replace("ABCD","a(bc)d","ruK&&&jGN&oQda&O",[caseless,
                                                                                                                                                                                                  global])), 
    <<"NACWHMsODnACQCvNsAC">> = iolist_to_binary(re:replace("AC","a[-]?c","N&WHM\\1sODn&QCvN\\1s&",[caseless])), 
    <<"NACWHMsODnACQCvNsAC">> = iolist_to_binary(re:replace("AC","a[-]?c","N&WHM\\1sODn&QCvN\\1s&",[caseless,
                                                                                                                                                                                                          global])), 
    <<"sABCgQuaFABCh">> = iolist_to_binary(re:replace("ABCABC","(abc)\\1","s\\1gQuaF\\1h",[caseless])), 
    <<"sABCgQuaFABCh">> = iolist_to_binary(re:replace("ABCABC","(abc)\\1","s\\1gQuaF\\1h",[caseless,
                                                                                                                                                                                                  global])), 
    <<"lABCmSQABCABCaXJqwxUYswqABCABC">> = iolist_to_binary(re:replace("ABCABC","([a-c]*)\\1","l\\1mSQ&aXJqwxUYswq&",[caseless])), 
    <<"lABCmSQABCABCaXJqwxUYswqABCABClmSQaXJqwxUYswq">> = iolist_to_binary(re:replace("ABCABC","([a-c]*)\\1","l\\1mSQ&aXJqwxUYswq&",[caseless,
                                                                                                                                                                                                                       global])), 
    <<"abdSPadcRcbUkgXmcHGW">> = iolist_to_binary(re:replace("abad","a(?!b).","dSP&\\1cRcbUkgXmcHGW\\1",[])), 
    <<"abdSPadcRcbUkgXmcHGW">> = iolist_to_binary(re:replace("abad","a(?!b).","dSP&\\1cRcbUkgXmcHGW\\1",[global])), 
    <<"abIRqW">> = iolist_to_binary(re:replace("abad","a(?=d).","IRqW",[])), 
    <<"abIRqW">> = iolist_to_binary(re:replace("abad","a(?=d).","IRqW",[global])), 
    <<"abykWXvthadUfKUlbLTp">> = iolist_to_binary(re:replace("abad","a(?=c|d).","y\\1kWXv\\1th&UfKUlbLTp",[])), 
    <<"abykWXvthadUfKUlbLTp">> = iolist_to_binary(re:replace("abad","a(?=c|d).","y\\1kWXv\\1th&UfKUlbLTp",[global])), 
    <<"pelUw">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)(.)","pelUw",[])), 
    <<"pelUw">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)(.)","pelUw",[global])), 
    <<"cfhcWSNABYeNMLh">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)*(.)","cfhcWSNABY\\1NMLh",[])), 
    <<"cfhcWSNABYeNMLh">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)*(.)","cfhcWSNABY\\1NMLh",[global])), 
    <<"etfeq">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)+?(.)","\\1tf\\1q",[])), 
    <<"etfeq">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)+?(.)","\\1tf\\1q",[global])), 
    <<"acdOEfbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+?(.)","&OEf",[])), 
    <<"acdOEfbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+?(.)","&OEf",[global])), 
    <<"Vmfyu">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+(.)","Vmfyu",[])), 
    <<"Vmfyu">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+(.)","Vmfyu",[global])), 
    <<"FIbbMUVjTEcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){2}(.)","FI\\1\\1MUVjTE",[])), 
    <<"FIbbMUVjTEcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){2}(.)","FI\\1\\1MUVjTE",[global])), 
    <<"eicDcYacdbcdboLhMacdbcdbacdbcdbKRqe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}(.)","eicDcY&oLhM&&KRq",[])), 
    <<"eicDcYacdbcdboLhMacdbcdbacdbcdbKRqe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}(.)","eicDcY&oLhM&&KRq",[global])), 
    <<"acdbcdqsacdbcdrbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}?(.)","&qs&r",[])), 
    <<"acdbcdqsacdbcdrbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}?(.)","&qs&r",[global])), 
    <<"barbarOSJfoobar">> = iolist_to_binary(re:replace("foobar","((foo)|(bar))*","\\1\\1OSJ&",[])), 
    <<"barbarOSJfoobarOSJ">> = iolist_to_binary(re:replace("foobar","((foo)|(bar))*","\\1\\1OSJ&",[global])), 
    <<"HYIAacdbcdbeeRhacdbcdbeacdbcdbeacdbcdbeGQ">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}(.)","HYIA&\\1Rh&&&GQ",[])), 
    <<"HYIAacdbcdbeeRhacdbcdbeacdbcdbeacdbcdbeGQ">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}(.)","HYIA&\\1Rh&&&GQ",[global])), 
    <<"eacdbcdbeBcQacdbcdbewOmacdbcdbeacdbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}?(.)","\\1&BcQ&wOm&&",[])), 
    <<"eacdbcdbeBcQacdbcdbewOmacdbcdbeacdbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}?(.)","\\1&BcQ&wOm&&",[global])), 
    <<"xacdbcdbeN">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}(.)","x&N",[])), 
    <<"xacdbcdbeN">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}(.)","x&N",[global])), 
    <<"bWxPOAbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}?(.)","\\1WxPOA\\1",[])), 
    <<"bWxPOAbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}?(.)","\\1WxPOA\\1",[global])), 
    ok.
run26() ->
    <<"DJeLeA">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}(.)","DJ\\1LeA",[])), 
    <<"DJeLeA">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}(.)","DJ\\1LeA",[global])), 
    <<"qinMoe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}?(.)","qinMo",[])), 
    <<"qinMoe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}?(.)","qinMo",[global])), 
    <<"acecXdaceaKTrIIqhpiWP">> = iolist_to_binary(re:replace("ace","a(?:b|(c|e){1,2}?|d)+?(.)","&\\1Xd&aKTrIIqhpiWP",[])), 
    <<"acecXdaceaKTrIIqhpiWP">> = iolist_to_binary(re:replace("ace","a(?:b|(c|e){1,2}?|d)+?(.)","&\\1Xd&aKTrIIqhpiWP",[global])), 
    <<"CiaeiABbFyjW">> = iolist_to_binary(re:replace("AB","^(.+)?B","Ciaei&bFyjW",[])), 
    <<"CiaeiABbFyjW">> = iolist_to_binary(re:replace("AB","^(.+)?B","Ciaei&bFyjW",[global])), 
    <<"..Ch.IWXxoeCE">> = iolist_to_binary(re:replace(".","^([^a-z])|(\\^)$","\\1&Ch&IWXxoeCE",[])), 
    <<"..Ch.IWXxoeCE">> = iolist_to_binary(re:replace(".","^([^a-z])|(\\^)$","\\1&Ch&IWXxoeCE",[global])), 
    <<"<&<&tOUT">> = iolist_to_binary(re:replace("<&OUT","^[<>]&","&&t",[])), 
    <<"<&<&tOUT">> = iolist_to_binary(re:replace("<&OUT","^[<>]&","&&t",[global])), 
    <<"Paaaaaaaaaaw">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","P&w",[])), 
    <<"Paaaaaaaaaaw">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","P&w",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a\\1?){4}$","&jEcxWNe",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a\\1?){4}$","&jEcxWNe",[global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","^(a\\1?){4}$","&QByhvIPMdVCvMAk",[])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","^(a\\1?){4}$","&QByhvIPMdVCvMAk",[global])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","LKyhXCAKO&fKp&",[])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","LKyhXCAKO&fKp&",[global])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","PktYBS",[])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","PktYBS",[global])), 
    <<"aaaaaaaaaaLaaaaaaaaaaaaaaaaaaaaAB">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a(?(1)\\1)){4}$","&L&&AB",[])), 
    <<"aaaaaaaaaaLaaaaaaaaaaaaaaaaaaaaAB">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a(?(1)\\1)){4}$","&L&&AB",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a(?(1)\\1)){4}$","&NExLuXAoRv",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a(?(1)\\1)){4}$","&NExLuXAoRv",[global])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a(?(1)\\1)){4}$","TNhbF",[])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a(?(1)\\1)){4}$","TNhbF",[global])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a(?(1)\\1)){4}$","Nc\\1&GIjjbuiMOSVl",[])), 
    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a(?(1)\\1)){4}$","Nc\\1&GIjjbuiMOSVl",[global])), 
    <<"OO">> = iolist_to_binary(re:replace("foobar","(?:(f)(o)(o)|(b)(a)(r))*","OO",[])), 
    <<"OOOO">> = iolist_to_binary(re:replace("foobar","(?:(f)(o)(o)|(b)(a)(r))*","OO",[global])), 
    <<"aOVOqSRYFwv">> = iolist_to_binary(re:replace("ab","(?<=a)b","OVOqSRYFwv",[])), 
    <<"aOVOqSRYFwv">> = iolist_to_binary(re:replace("ab","(?<=a)b","OVOqSRYFwv",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a)b","fIH\\1c\\1A\\1&&sdSLy",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a)b","fIH\\1c\\1A\\1&&sdSLy",[global])), 
    <<"cb">> = iolist_to_binary(re:replace("cb","(?<=a)b","ncyI",[])), 
    <<"cb">> = iolist_to_binary(re:replace("cb","(?<=a)b","ncyI",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","(?<=a)b","suOoPj&\\1M",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","(?<=a)b","suOoPj&\\1M",[global])), 
    <<"abriAFAbbvRIl">> = iolist_to_binary(re:replace("ab","(?<!c)b","&riAFA&&vR\\1Il",[])), 
    <<"abriAFAbbvRIl">> = iolist_to_binary(re:replace("ab","(?<!c)b","&riAFA&&vR\\1Il",[global])), 
    <<"oBIIxbHJbHrNT">> = iolist_to_binary(re:replace("b","(?<!c)b","oBIIx&HJ&H\\1rNT",[])), 
    <<"oBIIxbHJbHrNT">> = iolist_to_binary(re:replace("b","(?<!c)b","oBIIx&HJ&H\\1rNT",[global])), 
    <<"wWbIuHcu">> = iolist_to_binary(re:replace("b","(?<!c)b","wWbIuHcu",[])), 
    <<"wWbIuHcu">> = iolist_to_binary(re:replace("b","(?<!c)b","wWbIuHcu",[global])), 
    <<"abaNabaabaaba">> = iolist_to_binary(re:replace("aba","(?:..)*a","&N&&&",[])), 
    <<"abaNabaabaaba">> = iolist_to_binary(re:replace("aba","(?:..)*a","&N&&&",[global])), 
    <<"dmba">> = iolist_to_binary(re:replace("aba","(?:..)*?a","d\\1m",[])), 
    <<"dmbdm">> = iolist_to_binary(re:replace("aba","(?:..)*?a","d\\1m",[global])), 
    <<"Ywc">> = iolist_to_binary(re:replace("abc","^(?:b|a(?=(.)))*\\1","Yw",[])), 
    <<"Ywc">> = iolist_to_binary(re:replace("abc","^(?:b|a(?=(.)))*\\1","Yw",[global])), 
    <<"mwetmXoabc">> = iolist_to_binary(re:replace("abc","^(){3,5}","mwet\\1mXo",[])), 
    <<"mwetmXoabc">> = iolist_to_binary(re:replace("abc","^(){3,5}","mwet\\1mXo",[global])), 
    <<"agaYaDwEIxdcATaajdie">> = iolist_to_binary(re:replace("aax","^(a+)*ax","\\1g\\1Y\\1DwEIxdcAT\\1\\1jdie",[])), 
    <<"agaYaDwEIxdcATaajdie">> = iolist_to_binary(re:replace("aax","^(a+)*ax","\\1g\\1Y\\1DwEIxdcAT\\1\\1jdie",[global])), 
    <<"oOs">> = iolist_to_binary(re:replace("aax","^((a|b)+)*ax","oOs",[])), 
    <<"oOs">> = iolist_to_binary(re:replace("aax","^((a|b)+)*ax","oOs",[global])), 
    <<"XhaaxEdaassqaxiHJabBaK">> = iolist_to_binary(re:replace("aax","^((a|bc)+)*ax","Xh&Ed\\1\\1ssq\\1xiHJ\\1bB\\1K",[])), 
    <<"XhaaxEdaassqaxiHJabBaK">> = iolist_to_binary(re:replace("aax","^((a|bc)+)*ax","Xh&Ed\\1\\1ssq\\1xiHJ\\1bB\\1K",[global])), 
    <<"cXkxsSHRksqVJf">> = iolist_to_binary(re:replace("cab","(a|x)*ab","XkxsSHRk\\1sqVJf",[])), 
    <<"cXkxsSHRksqVJf">> = iolist_to_binary(re:replace("cab","(a|x)*ab","XkxsSHRk\\1sqVJf",[global])), 
    <<"cTOrWuaboDtjqjUj">> = iolist_to_binary(re:replace("cab","(a)*ab","TOrWu\\1&o\\1D\\1tjqjUj\\1\\1\\1",[])), 
    <<"cTOrWuaboDtjqjUj">> = iolist_to_binary(re:replace("cab","(a)*ab","TOrWu\\1&o\\1D\\1tjqjUj\\1\\1\\1",[global])), 
    ok.
run27() ->
    <<"itod">> = iolist_to_binary(re:replace("ab","(?:(?i)a)b","itod",[])), 
    <<"itod">> = iolist_to_binary(re:replace("ab","(?:(?i)a)b","itod",[global])), 
    <<"WjabMNVeskabFabMkNj">> = iolist_to_binary(re:replace("ab","((?i)a)b","Wj&MNVesk&F&MkNj",[])), 
    <<"WjabMNVeskabFabMkNj">> = iolist_to_binary(re:replace("ab","((?i)a)b","Wj&MNVesk&F&MkNj",[global])), 
    <<"K">> = iolist_to_binary(re:replace("Ab","(?:(?i)a)b","K\\1",[])), 
    <<"K">> = iolist_to_binary(re:replace("Ab","(?:(?i)a)b","K\\1",[global])), 
    <<"KAbmpSqMJmrScTHEHA">> = iolist_to_binary(re:replace("Ab","((?i)a)b","K&mpSqMJmrScTHEH\\1",[])), 
    <<"KAbmpSqMJmrScTHEHA">> = iolist_to_binary(re:replace("Ab","((?i)a)b","K&mpSqMJmrScTHEH\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?i)a)b","jONwRrcyS&bFO",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?i)a)b","jONwRrcyS&bFO",[global])), 
    <<"cb">> = iolist_to_binary(re:replace("cb","(?:(?i)a)b","DIfuf&vF\\1&o&yYq",[])), 
    <<"cb">> = iolist_to_binary(re:replace("cb","(?:(?i)a)b","DIfuf&vF\\1&o&yYq",[global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(?i)a)b","\\1\\1ntgcmKqp",[])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(?i)a)b","\\1\\1ntgcmKqp",[global])), 
    <<"jI">> = iolist_to_binary(re:replace("ab","(?i:a)b","jI",[])), 
    <<"jI">> = iolist_to_binary(re:replace("ab","(?i:a)b","jI",[global])), 
    <<"bVgmsFMa">> = iolist_to_binary(re:replace("ab","((?i:a))b","bVgmsFMa",[])), 
    <<"bVgmsFMa">> = iolist_to_binary(re:replace("ab","((?i:a))b","bVgmsFMa",[global])), 
    <<"cEcAlebAbOIAbmOu">> = iolist_to_binary(re:replace("Ab","(?i:a)b","cEcAl\\1eb\\1&OI&\\1mOu",[])), 
    <<"cEcAlebAbOIAbmOu">> = iolist_to_binary(re:replace("Ab","(?i:a)b","cEcAl\\1eb\\1&OI&\\1mOu",[global])), 
    <<"hA">> = iolist_to_binary(re:replace("Ab","((?i:a))b","h\\1",[])), 
    <<"hA">> = iolist_to_binary(re:replace("Ab","((?i:a))b","h\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i:a)b","ip",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i:a)b","ip",[global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","\\1pL",[])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","\\1pL",[global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","qL&OvIX\\1G&&rRe&x\\1o\\1",[])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","qL&OvIX\\1G&&rRe&x\\1o\\1",[global])), 
    <<"RsYIqopkaabwdwdgKabT">> = iolist_to_binary(re:replace("ab","(?:(?-i)a)b","RsYIqopka&\\1wdwdgK&T",[caseless])), 
    <<"RsYIqopkaabwdwdgKabT">> = iolist_to_binary(re:replace("ab","(?:(?-i)a)b","RsYIqopka&\\1wdwdgK&T",[caseless,
                                                                                                                                                                                                                global])), 
    <<"lLfababYHTqsmO">> = iolist_to_binary(re:replace("ab","((?-i)a)b","lLf&&YHTqsmO",[caseless])), 
    <<"lLfababYHTqsmO">> = iolist_to_binary(re:replace("ab","((?-i)a)b","lLf&&YHTqsmO",[caseless,
                                                                                                                                                                                         global])), 
    <<"JCuXbQvaBXV">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","JCuXbQv&XV",[caseless])), 
    <<"JCuXbQvaBXV">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","JCuXbQv&XV",[caseless,
                                                                                                                                                                                        global])), 
    <<"najlatTu">> = iolist_to_binary(re:replace("aB","((?-i)a)b","n\\1jl\\1tTu",[caseless])), 
    <<"najlatTu">> = iolist_to_binary(re:replace("aB","((?-i)a)b","n\\1jl\\1tTu",[caseless,
                                                                                                                                                                                         global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","oRHrhfYgmYE",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","oRHrhfYgmYE",[caseless,
                                                                                                                                                                                                           global])), 
    <<"C">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","C",[caseless])), 
    <<"C">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","C",[caseless,
                                                                                                                                                                     global])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","MbmyjKDJY",[caseless])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","MbmyjKDJY",[caseless,
                                                                                                                                                                                     global])), 
    <<"KRBaBYDPTaBIetfKafk">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","K\\1RB&YDPT&Ietf\\1Kafk",[caseless])), 
    <<"KRBaBYDPTaBIetfKafk">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","K\\1RB&YDPT&Ietf\\1Kafk",[caseless,
                                                                                                                                                                                                                     global])), 
    <<"FAeMLQgRgVVahad">> = iolist_to_binary(re:replace("aB","((?-i)a)b","FAeMLQgRgVV\\1h\\1d",[caseless])), 
    <<"FAeMLQgRgVVahad">> = iolist_to_binary(re:replace("aB","((?-i)a)b","FAeMLQgRgVV\\1h\\1d",[caseless,
                                                                                                                                                                                                       global])), 
    ok.
run28() ->
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","V",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","V",[caseless,
                                                                                                                                                                                       global])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","vOEiltgjc",[caseless])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","vOEiltgjc",[caseless,
                                                                                                                                                                                     global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?:(?-i)a)b","hCMP",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?:(?-i)a)b","hCMP",[caseless,
                                                                                                                                                                           global])), 
    <<"WVjqJoaFabihXyIK">> = iolist_to_binary(re:replace("ab","(?-i:a)b","WVjqJoaF&\\1ihXy\\1IK",[caseless])), 
    <<"WVjqJoaFabihXyIK">> = iolist_to_binary(re:replace("ab","(?-i:a)b","WVjqJoaF&\\1ihXy\\1IK",[caseless,
                                                                                                                                                                                                          global])), 
    <<"hEauHabaabI">> = iolist_to_binary(re:replace("ab","((?-i:a))b","hE\\1uH&\\1&I",[caseless])), 
    <<"hEauHabaabI">> = iolist_to_binary(re:replace("ab","((?-i:a))b","hE\\1uH&\\1&I",[caseless,
                                                                                                                                                                                               global])), 
    <<"PyNYkfxaBaFAYik">> = iolist_to_binary(re:replace("aB","(?-i:a)b","PyNYkfx&aFAYi\\1k",[caseless])), 
    <<"PyNYkfxaBaFAYik">> = iolist_to_binary(re:replace("aB","(?-i:a)b","PyNYkfx&aFAYi\\1k",[caseless,
                                                                                                                                                                                                 global])), 
    <<"laBaBG">> = iolist_to_binary(re:replace("aB","((?-i:a))b","l&&G",[caseless])), 
    <<"laBaBG">> = iolist_to_binary(re:replace("aB","((?-i:a))b","l&&G",[caseless,
                                                                                                                                                                           global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","eS\\1dn",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","eS\\1dn",[caseless,
                                                                                                                                                                                              global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","MhsbM&x\\1ydTksl",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","MhsbM&x\\1ydTksl",[caseless,
                                                                                                                                                                                               global])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","\\1srennTK\\1qOyk&LVOv",[caseless])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","\\1srennTK\\1qOyk&LVOv",[caseless,
                                                                                                                                                                                                            global])), 
    <<"JJVTKIsthgwfb">> = iolist_to_binary(re:replace("aB","(?-i:a)b","JJVTKIst\\1hgwfb",[caseless])), 
    <<"JJVTKIsthgwfb">> = iolist_to_binary(re:replace("aB","(?-i:a)b","JJVTKIst\\1hgwfb",[caseless,
                                                                                                                                                                                              global])), 
    <<"CyLaBaaBaFaBUQLaBYD">> = iolist_to_binary(re:replace("aB","((?-i:a))b","CyL&a&aF&UQL&YD",[caseless])), 
    <<"CyLaBaaBaFaBUQLaBYD">> = iolist_to_binary(re:replace("aB","((?-i:a))b","CyL&a&aF&UQL&YD",[caseless,
                                                                                                                                                                                                   global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","mWmXxiABWTMo&\\1bHX&m",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","mWmXxiABWTMo&\\1bHX&m",[caseless,
                                                                                                                                                                                                                            global])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","KxfwWNxNB&uWywN",[caseless])), 
    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","KxfwWNxNB&uWywN",[caseless,
                                                                                                                                                                                            global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","FB&EbQh",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","FB&EbQh",[caseless,
                                                                                                                                                                            global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?-i:a.))b","GeHOW",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?-i:a.))b","GeHOW",[caseless,
                                                                                                                                                                                               global])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","((?-i:a.))b","t&\\1\\1wNwJd&umtr&\\1P&v",[caseless])), 
    <<"AB">> = iolist_to_binary(re:replace("AB","((?-i:a.))b","t&\\1\\1wNwJd&umtr&\\1P&v",[caseless,
                                                                                                                                                                                                                            global])), 
    <<"a
B">> = iolist_to_binary(re:replace("a
B","((?-i:a.))b","xLBhf&h",[caseless])), 
    <<"a
B">> = iolist_to_binary(re:replace("a
B","((?-i:a.))b","xLBhf&h",[caseless,global])), 
    <<"a
BeNa
a
ra
B">> = iolist_to_binary(re:replace("a
B","((?s-i:a.))b","&eN\\1\\1r&",[caseless])), 
    <<"a
BeNa
a
ra
B">> = iolist_to_binary(re:replace("a
B","((?s-i:a.))b","&eN\\1\\1r&",[caseless,global])), 
    <<"xDgxGuTySBL">> = iolist_to_binary(re:replace("cabbbb","(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))","xDgxGuTySB\\1L",[])), 
    <<"xDgxGuTySBL">> = iolist_to_binary(re:replace("cabbbb","(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))","xDgxGuTySB\\1L",[global])), 
    <<"S">> = iolist_to_binary(re:replace("caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))","S",[])), 
    <<"S">> = iolist_to_binary(re:replace("caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))","S",[global])), 
    <<"oAb4abQPdAAb">> = iolist_to_binary(re:replace("Ab4ab","(ab)\\d\\1","o&QPdA\\1",[caseless])), 
    <<"oAb4abQPdAAb">> = iolist_to_binary(re:replace("Ab4ab","(ab)\\d\\1","o&QPdA\\1",[caseless,
                                                                                                                                                                                             global])), 
    <<"xDxHH">> = iolist_to_binary(re:replace("ab4Ab","(ab)\\d\\1","xDxHH",[caseless])), 
    <<"xDxHH">> = iolist_to_binary(re:replace("ab4Ab","(ab)\\d\\1","xDxHH",[caseless,
                                                                                                                                                                                   global])), 
    <<"iEooNfoobar1234bazWrIlfoobar1234baznlqjBfoobar1234bazb">> = iolist_to_binary(re:replace("foobar1234baz","foo\\w*\\d{4}baz","iEooN&WrIl&nlqjB&\\1b",[])), 
    <<"iEooNfoobar1234bazWrIlfoobar1234baznlqjBfoobar1234bazb">> = iolist_to_binary(re:replace("foobar1234baz","foo\\w*\\d{4}baz","iEooN&WrIl&nlqjB&\\1b",[global])), 
    <<"dph">> = iolist_to_binary(re:replace("x~~","x(~~)*(?:(?:F)?)?","dph",[])), 
    <<"dph">> = iolist_to_binary(re:replace("x~~","x(~~)*(?:(?:F)?)?","dph",[global])), 
    <<"aaacCaaaciHua">> = iolist_to_binary(re:replace("aaac","^a(?#xxx){3}c","&C&iHua",[])), 
    <<"aaacCaaaciHua">> = iolist_to_binary(re:replace("aaac","^a(?#xxx){3}c","&C&iHua",[global])), 
    ok.
run29() ->
    <<"UkKlOLQggowaaaclFkU">> = iolist_to_binary(re:replace("aaac","^a (?#xxx) (?#yyy) {3}c","UkKlO\\1LQggow&lFkU",[extended])), 
    <<"UkKlOLQggowaaaclFkU">> = iolist_to_binary(re:replace("aaac","^a (?#xxx) (?#yyy) {3}c","UkKlO\\1LQggow&lFkU",[extended,
                                                                                                                                                                                                                                       global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<![cd])b","qVEB\\1Buo",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<![cd])b","qVEB\\1Buo",[global])), 
    <<"B
B">> = iolist_to_binary(re:replace("B
B","(?<![cd])b","&PINm\\1tQW&u",[])), 
    <<"B
B">> = iolist_to_binary(re:replace("B
B","(?<![cd])b","&PINm\\1tQW&u",[global])), 
    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","(?<![cd])b","JN\\1nXQWo\\1gpGr",[])), 
    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","(?<![cd])b","JN\\1nXQWo\\1gpGr",[global])), 
    <<"dbgLxFuiCCrajPsTmTacb">> = iolist_to_binary(re:replace("dbaacb","(?<![cd])[ab]","gLxFuiCCrajP\\1sTmT",[])), 
    <<"dbgLxFuiCCrajPsTmTgLxFuiCCrajPsTmTcb">> = iolist_to_binary(re:replace("dbaacb","(?<![cd])[ab]","gLxFuiCCrajP\\1sTmT",[global])), 
    <<"dbiyqEacb">> = iolist_to_binary(re:replace("dbaacb","(?<!(c|d))[ab]","iyqE",[])), 
    <<"dbiyqEiyqEcb">> = iolist_to_binary(re:replace("dbaacb","(?<!(c|d))[ab]","iyqE",[global])), 
    <<"cdaccfGWRbbyWukeN">> = iolist_to_binary(re:replace("cdaccb","(?<!cd)[ab]","\\1\\1fGWR\\1&\\1&yWukeN",[])), 
    <<"cdaccfGWRbbyWukeN">> = iolist_to_binary(re:replace("cdaccb","(?<!cd)[ab]","\\1\\1fGWR\\1&\\1&yWukeN",[global])), 
    <<"radhOoMmkTyvp">> = iolist_to_binary(re:replace("","^(?:a?b?)*$","radhO&oMmkTy&vp",[])), 
    <<"radhOoMmkTyvp">> = iolist_to_binary(re:replace("","^(?:a?b?)*$","radhO&oMmkTy&vp",[global])), 
    <<"iaraX">> = iolist_to_binary(re:replace("a","^(?:a?b?)*$","i&r&X",[])), 
    <<"iaraX">> = iolist_to_binary(re:replace("a","^(?:a?b?)*$","i&r&X",[global])), 
    <<"uvabababcGDFD">> = iolist_to_binary(re:replace("ab","^(?:a?b?)*$","uv&&&cGDFD",[])), 
    <<"uvabababcGDFD">> = iolist_to_binary(re:replace("ab","^(?:a?b?)*$","uv&&&cGDFD",[global])), 
    <<"aaawlwIRsqaaallaaaAnaaaBraaa">> = iolist_to_binary(re:replace("aaa","^(?:a?b?)*$","&wlwIRsq&ll\\1&An&B\\1r&",[])), 
    <<"aaawlwIRsqaaallaaaAnaaaBraaa">> = iolist_to_binary(re:replace("aaa","^(?:a?b?)*$","&wlwIRsq&ll\\1&An&B\\1r&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:a?b?)*$","HQDGKPOboFhEDT&FLu&D",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:a?b?)*$","HQDGKPOboFhEDT&FLu&D",[global])), 
    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","^(?:a?b?)*$","dWU\\1&MLWjnDLY\\1\\1M",[])), 
    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","^(?:a?b?)*$","dWU\\1&MLWjnDLY\\1\\1M",[global])), 
    <<"a--">> = iolist_to_binary(re:replace("a--","^(?:a?b?)*$","\\1&KaprjNw&yXkKe",[])), 
    <<"a--">> = iolist_to_binary(re:replace("a--","^(?:a?b?)*$","\\1&KaprjNw&yXkKe",[global])), 
    <<"aa--">> = iolist_to_binary(re:replace("aa--","^(?:a?b?)*$","Rr&FlU",[])), 
    <<"aa--">> = iolist_to_binary(re:replace("aa--","^(?:a?b?)*$","Rr&FlU",[global])), 
    <<"Ta
ba
Bkga
bx
c">> = iolist_to_binary(re:replace("a
b
c","((?s)^a(.))((?m)^b$)","T&\\1Bkg&x",[])), 
    <<"Ta
ba
Bkga
bx
c">> = iolist_to_binary(re:replace("a
b
c","((?s)^a(.))((?m)^b$)","T&\\1Bkg&x",[global])), 
    <<"a
fRyiaWcebhcY
c">> = iolist_to_binary(re:replace("a
b
c","((?m)^b$)","fRyiaWce&hcY",[])), 
    <<"a
fRyiaWcebhcY
c">> = iolist_to_binary(re:replace("a
b
c","((?m)^b$)","fRyiaWce&hcY",[global])), 
    <<"a
j">> = iolist_to_binary(re:replace("a
b","(?m)^b","j\\1",[])), 
    <<"a
j">> = iolist_to_binary(re:replace("a
b","(?m)^b","j\\1",[global])), 
    <<"a
tbDLKbpbbqBbWXNbjBU">> = iolist_to_binary(re:replace("a
b","(?m)^(b)","t\\1DLK\\1p&\\1qB\\1WXNbjBU",[])), 
    <<"a
tbDLKbpbbqBbWXNbjBU">> = iolist_to_binary(re:replace("a
b","(?m)^(b)","t\\1DLK\\1p&\\1qB\\1WXNbjBU",[global])), 
    <<"a
hJUkbQmbMMdabmm">> = iolist_to_binary(re:replace("a
b","((?m)^b)","hJUk&Qm\\1MMda&mm",[])), 
    <<"a
hJUkbQmbMMdabmm">> = iolist_to_binary(re:replace("a
b","((?m)^b)","hJUk&Qm\\1MMda&mm",[global])), 
    <<"ad">> = iolist_to_binary(re:replace("a
b","\\n((?m)^b)","d",[])), 
    <<"ad">> = iolist_to_binary(re:replace("a
b","\\n((?m)^b)","d",[global])), 
    <<"a
bu">> = iolist_to_binary(re:replace("a
b
c","((?s).)c(?!.)","u",[])), 
    <<"a
bu">> = iolist_to_binary(re:replace("a
b
c","((?s).)c(?!.)","u",[global])), 
    <<"a
bpB">> = iolist_to_binary(re:replace("a
b
c","((?s).)c(?!.)","pB",[])), 
    <<"a
bpB">> = iolist_to_binary(re:replace("a
b
c","((?s).)c(?!.)","pB",[global])), 
    <<"a
b
cIe">> = iolist_to_binary(re:replace("a
b
c","((?s)b.)c(?!.)","&Ie",[])), 
    <<"a
b
cIe">> = iolist_to_binary(re:replace("a
b
c","((?s)b.)c(?!.)","&Ie",[global])), 
    <<"a
sqb
">> = iolist_to_binary(re:replace("a
b
c","((?s)b.)c(?!.)","sq\\1",[])), 
    <<"a
sqb
">> = iolist_to_binary(re:replace("a
b
c","((?s)b.)c(?!.)","sq\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","()^b","ov",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","()^b","ov",[global])), 
    <<"a
b
c">> = iolist_to_binary(re:replace("a
b
c","()^b","uMvMIoSdSSJ",[])), 
    <<"a
b
c">> = iolist_to_binary(re:replace("a
b
c","()^b","uMvMIoSdSSJ",[global])), 
    <<"a
b
c">> = iolist_to_binary(re:replace("a
b
c","()^b","CWpw",[])), 
    <<"a
b
c">> = iolist_to_binary(re:replace("a
b
c","()^b","CWpw",[global])), 
    <<"a
VJbfDbMGQCbssq
c">> = iolist_to_binary(re:replace("a
b
c","((?m)^b)","VJ&fD&MGQC&ssq",[])), 
    <<"a
VJbfDbMGQCbssq
c">> = iolist_to_binary(re:replace("a
b
c","((?m)^b)","VJ&fD&MGQC&ssq",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(x)?(?(1)a|b)","LNqS&m",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(x)?(?(1)a|b)","LNqS&m",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","OkYauyNGxeWuW\\1\\1&MWr",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","OkYauyNGxeWuW\\1\\1&MWr",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","scDk\\1nM",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","scDk\\1nM",[global])), 
    <<"YcA">> = iolist_to_binary(re:replace("a","(x)?(?(1)b|a)","\\1YcA",[])), 
    <<"YcA">> = iolist_to_binary(re:replace("a","(x)?(?(1)b|a)","\\1YcA",[global])), 
    ok.
run30() ->
    <<"xNapUFFvOIj">> = iolist_to_binary(re:replace("a","()?(?(1)b|a)","xN&pU\\1FFvOIj",[])), 
    <<"xNapUFFvOIj">> = iolist_to_binary(re:replace("a","()?(?(1)b|a)","xN&pU\\1FFvOIj",[global])), 
    <<"XuaPbWvaWaalBtsa">> = iolist_to_binary(re:replace("a","()?(?(1)a|b)","Xu&PbWv&W&&lBts&",[])), 
    <<"XuaPbWvaWaalBtsa">> = iolist_to_binary(re:replace("a","()?(?(1)a|b)","Xu&PbWv&W&&lBts&",[global])), 
    <<"(fyCFuvHU((puIwItIx(">> = iolist_to_binary(re:replace("(blah)","^(\\()?blah(?(1)(\\)))$","\\1fyCFuvHU\\1\\1puIwItIx\\1",[])), 
    <<"(fyCFuvHU((puIwItIx(">> = iolist_to_binary(re:replace("(blah)","^(\\()?blah(?(1)(\\)))$","\\1fyCFuvHU\\1\\1puIwItIx\\1",[global])), 
    <<"AyRblahEPvK">> = iolist_to_binary(re:replace("blah","^(\\()?blah(?(1)(\\)))$","AyR&EPvK",[])), 
    <<"AyRblahEPvK">> = iolist_to_binary(re:replace("blah","^(\\()?blah(?(1)(\\)))$","AyR&EPvK",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\()?blah(?(1)(\\)))$","SbDcblGvpFYoX&J&Gu",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\()?blah(?(1)(\\)))$","SbDcblGvpFYoX&J&Gu",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(\\()?blah(?(1)(\\)))$","&m",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(\\()?blah(?(1)(\\)))$","&m",[global])), 
    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\()?blah(?(1)(\\)))$","k\\1",[])), 
    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\()?blah(?(1)(\\)))$","k\\1",[global])), 
    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\()?blah(?(1)(\\)))$","BufqWrp\\1\\1UijV",[])), 
    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\()?blah(?(1)(\\)))$","BufqWrp\\1\\1UijV",[global])), 
    <<"pIOc(eAW(">> = iolist_to_binary(re:replace("(blah)","^(\\(+)?blah(?(1)(\\)))$","pIOc\\1eAW\\1",[])), 
    <<"pIOc(eAW(">> = iolist_to_binary(re:replace("(blah)","^(\\(+)?blah(?(1)(\\)))$","pIOc\\1eAW\\1",[global])), 
    <<"p">> = iolist_to_binary(re:replace("blah","^(\\(+)?blah(?(1)(\\)))$","p",[])), 
    <<"p">> = iolist_to_binary(re:replace("blah","^(\\(+)?blah(?(1)(\\)))$","p",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\(+)?blah(?(1)(\\)))$","y&&&AOp\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\(+)?blah(?(1)(\\)))$","y&&&AOp\\1",[global])), 
    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\(+)?blah(?(1)(\\)))$","\\1VJMcD\\1vw&NweMFm",[])), 
    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\(+)?blah(?(1)(\\)))$","\\1VJMcD\\1vw&NweMFm",[global])), 
    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\(+)?blah(?(1)(\\)))$","nmpAKxmhP\\1VH\\1DE\\1",[])), 
    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\(+)?blah(?(1)(\\)))$","nmpAKxmhP\\1VH\\1DE\\1",[global])), 
    <<"sVrnWeaaBWqoEe">> = iolist_to_binary(re:replace("a","(?(?!a)b|a)","sVrnWea&BWqoE\\1e\\1",[])), 
    <<"sVrnWeaaBWqoEe">> = iolist_to_binary(re:replace("a","(?(?!a)b|a)","sVrnWea&BWqoE\\1e\\1",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?=a)b|a)","yKlwaKvFuDaY&",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?=a)b|a)","yKlwaKvFuDaY&",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","a&xlo",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","a&xlo",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","HA\\1fUFNxI",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","HA\\1fUFNxI",[global])), 
    <<"UTGiYaXaqADaSaxgaG">> = iolist_to_binary(re:replace("a","(?(?=a)a|b)","UTGiY&\\1X&qAD\\1&S&xgaG",[])), 
    <<"UTGiYaXaqADaSaxgaG">> = iolist_to_binary(re:replace("a","(?(?=a)a|b)","UTGiY&\\1X&qAD\\1&S&xgaG",[global])), 
    <<"aTjaOYiTQLgjuOn">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","Tj\\1OYiTQLgjuOn",[])), 
    <<"aTjaOYiTQLgjuOn">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","Tj\\1OYiTQLgjuOn",[global])), 
    <<"one:Yone:hI">> = iolist_to_binary(re:replace("one:","(\\w+:)+","&Y&hI",[])), 
    <<"one:Yone:hI">> = iolist_to_binary(re:replace("one:","(\\w+:)+","&Y&hI",[global])), 
    <<"aJdMoadBqra">> = iolist_to_binary(re:replace("a","$(?<=^(a))","JdMo\\1&dBqr&\\1",[])), 
    <<"aJdMoadBqra">> = iolist_to_binary(re:replace("a","$(?<=^(a))","JdMo\\1&dBqr&\\1",[global])), 
    <<"aRayaTFQFN">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","R\\1yaTFQFN",[])), 
    <<"aRayaTFQFN">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","R\\1yaTFQFN",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?=(a+?))\\1ab","w",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?=(a+?))\\1ab","w",[global])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","TAs",[])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","TAs",[global])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","gObuYj\\1f\\1&Y\\1&\\1",[])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","gObuYj\\1f\\1&Y\\1&\\1",[global])), 
    <<"WqUamivVmXabcdLd">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","W\\1qUamiv\\1V\\1mX&Ld",[])), 
    <<"WqUamivVmXabcdLd">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","W\\1qUamiv\\1V\\1mX&Ld",[global])), 
    <<"Ixy:z:::abcdxy:z:::abcdnxy:z:::xy:z:::abcdbsHvXRBC">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","I&&n\\1&bsHvXRBC",[])), 
    <<"Ixy:z:::abcdxy:z:::abcdnxy:z:::xy:z:::abcdbsHvXRBC">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","I&&n\\1&bsHvXRBC",[global])), 
    <<"Xd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","X",[])), 
    <<"Xd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","X",[global])), 
    <<"cxqAaaeaabaaLWaaaaQJTaaaaxG">> = iolist_to_binary(re:replace("caab","(a*)b+","xqA\\1e&\\1LW\\1\\1QJT\\1\\1xG",[])), 
    <<"cxqAaaeaabaaLWaaaaQJTaaaaxG">> = iolist_to_binary(re:replace("caab","(a*)b+","xqA\\1e&\\1LW\\1\\1QJT\\1\\1xG",[global])), 
    <<"PabcdoXTDiScdQabcdE">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","P&\\1o\\1XTDiScdQ&E",[])), 
    <<"PabcdoXTDiScdQabcdE">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","P&\\1o\\1XTDiScdQ&E",[global])), 
    <<"ltxy:z:::abcdOkVmTnmtexy:z:::MMY">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","lt&OkVmTnmte\\1MMY",[])), 
    <<"ltxy:z:::abcdOkVmTnmtexy:z:::MMY">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","lt&OkVmTnmte\\1MMY",[global])), 
    <<"*** hdDdHBCKXpUraMooFailersFailersW">> = iolist_to_binary(re:replace("*** Failers","([\\w:]+::)?(\\w+)$","hdDdHBCKXpUraMoo&\\1&W",[])), 
    <<"*** hdDdHBCKXpUraMooFailersFailersW">> = iolist_to_binary(re:replace("*** Failers","([\\w:]+::)?(\\w+)$","hdDdHBCKXpUraMoo&\\1&W",[global])), 
    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","W&CE",[])), 
    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","W&CE",[global])), 
    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","HS&xAXhj\\1&h\\1oJanfg",[])), 
    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","HS&xAXhj\\1&h\\1oJanfg",[global])), 
    <<"gncfaexycKcgd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","gn\\1f&K\\1g",[])), 
    <<"gncfaexycKcgd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","gn\\1f&K\\1g",[global])), 
    ok.
run31() ->
    <<"dIgTpbIaaabHEixaaaby">> = iolist_to_binary(re:replace("aaab","(?>a+)b","dI\\1gTpbI&HEix&y",[])), 
    <<"dIgTpbIaaabHEixaaaby">> = iolist_to_binary(re:replace("aaab","(?>a+)b","dI\\1gTpbI&HEix&y",[global])), 
    <<"a:[xKoXTWDN:[:[P:[b]:">> = iolist_to_binary(re:replace("a:[b]:","([[:]+)","&xKoXTWDN\\1\\1P\\1",[])), 
    <<"a:[xKoXTWDN:[:[P:[b]:xKoXTWDN::P:">> = iolist_to_binary(re:replace("a:[b]:","([[:]+)","&xKoXTWDN\\1\\1P\\1",[global])), 
    <<"a=[b]=">> = iolist_to_binary(re:replace("a=[b]=","([[=]+)","\\1",[])), 
    <<"a=[b]=">> = iolist_to_binary(re:replace("a=[b]=","([[=]+)","\\1",[global])), 
    <<"aAULOvS.[q.[cI.[O.[K.[WMIpb].">> = iolist_to_binary(re:replace("a.[b].","([[.]+)","AULOvS&q\\1cI\\1O&K&WMIp",[])), 
    <<"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])), 
    <<"tkaYMfUUpaaabHTyQAreKh">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","tkaYMfUUp&HTyQAreKh",[])), 
    <<"tkaYMfUUpaaabHTyQAreKh">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","tkaYMfUUp&HTyQAreKh",[global])), 
    <<"EHaaaGtlKGyaaaEAaaaaaahAK">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","EH\\1GtlKGy\\1EA\\1\\1hAK",[])), 
    <<"EHaaaGtlKGyaaaEAaaaaaahAK">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","EH\\1GtlKGy\\1EA\\1\\1hAK",[global])), 
    <<"((GwfYxOabc(ade)ufh()()xW">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","GwfY\\1O&W",[])), 
    <<"((GwfYxOabc(ade)ufh()()xW">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","GwfY\\1O&W",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Z","mItu\\1oJX&CQC&UvIK",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Z","mItu\\1oJX&CQC&UvIK",[global])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","a\\Z","IaLyKsEnQnMtfj\\1",[])), 
    <<"aaab">> = iolist_to_binary(re:replace("aaab","a\\Z","IaLyKsEnQnMtfj\\1",[global])), 
    <<"a
b">> = iolist_to_binary(re:replace("a
b","a\\Z","eslV\\1s",[])), 
    <<"a
b">> = iolist_to_binary(re:replace("a
b","a\\Z","eslV\\1s",[global])), 
    <<"a
MKbmAwNCnGbLYb">> = iolist_to_binary(re:replace("a
b","b\\Z","M\\1K&mAwNCnG&LY\\1&",[])), 
    <<"a
MKbmAwNCnGbLYb">> = iolist_to_binary(re:replace("a
b","b\\Z","M\\1K&mAwNCnG&LY\\1&",[global])), 
    <<"a
YxEpUt">> = iolist_to_binary(re:replace("a
b","b\\Z","YxEpUt",[])), 
    <<"a
YxEpUt">> = iolist_to_binary(re:replace("a
b","b\\Z","YxEpUt",[global])), 
    <<"a
nocMyHoQWrYuE">> = iolist_to_binary(re:replace("a
b","b\\z","nocMyHoQ\\1WrY\\1uE",[])), 
    <<"a
nocMyHoQWrYuE">> = iolist_to_binary(re:replace("a
b","b\\z","nocMyHoQ\\1WrY\\1uE",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","b\\z","WYbAyvR",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","b\\z","WYbAyvR",[global])), 
    <<"hnvNIpoJVjsUM">> = iolist_to_binary(re:replace("a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","hnvNIpoJVjsU\\1M",[])), 
    <<"hnvNIpoJVjsUM">> = iolist_to_binary(re:replace("a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","hnvNIpoJVjsU\\1M",[global])), 
    <<"hxMJiijTWX">> = iolist_to_binary(re:replace("abc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","hxMJiijTWX",[])), 
    <<"hxMJiijTWX">> = iolist_to_binary(re:replace("abc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","hxMJiijTWX",[global])), 
    <<"YbRuX">> = iolist_to_binary(re:replace("a-b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","YbRuX",[])), 
    <<"YbRuX">> = iolist_to_binary(re:replace("a-b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","YbRuX",[global])), 
    <<"SxvuEx0-9jSlY">> = iolist_to_binary(re:replace("0-9","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","SxvuEx\\1&j\\1\\1Sl\\1Y",[])), 
    <<"SxvuEx0-9jSlY">> = iolist_to_binary(re:replace("0-9","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","SxvuEx\\1&j\\1\\1Sl\\1Y",[global])), 
    <<"f">> = iolist_to_binary(re:replace("a.b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","f",[])), 
    <<"f">> = iolist_to_binary(re:replace("a.b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","f",[global])), 
    <<"ITsyB5.6.7Aaf">> = iolist_to_binary(re:replace("5.6.7","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","ITsyB&\\1Aaf",[])), 
    <<"ITsyB5.6.7Aaf">> = iolist_to_binary(re:replace("5.6.7","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","ITsyB&\\1Aaf",[global])), 
    <<"VwsTKcuXijrhthe.quick.brown.foxtk">> = iolist_to_binary(re:replace("the.quick.brown.fox","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","VwsTK\\1cu\\1Xijrh&tk",[])), 
    <<"VwsTKcuXijrhthe.quick.brown.foxtk">> = iolist_to_binary(re:replace("the.quick.brown.fox","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","VwsTK\\1cu\\1Xijrh&tk",[global])), 
    <<"nnlUga100.b200.300cnaspQDy">> = iolist_to_binary(re:replace("a100.b200.300c","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","nnlUg&\\1naspQDy",[])), 
    <<"nnlUga100.b200.300cnaspQDy">> = iolist_to_binary(re:replace("a100.b200.300c","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","nnlUg&\\1naspQDy",[global])), 
    <<"Dg12-ab.1245dwIGWfGU12-ab.1245G">> = iolist_to_binary(re:replace("12-ab.1245","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","Dg&\\1dwIGW\\1fGU&G",[])), 
    <<"Dg12-ab.1245dwIGWfGU12-ab.1245G">> = iolist_to_binary(re:replace("12-ab.1245","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","Dg&\\1dwIGW\\1fGU&G",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","pRExPwXG\\1OMYxM&DJu",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","pRExPwXG\\1OMYxM&DJu",[global])), 
    <<"">> = iolist_to_binary(re:replace("","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","onWS&OuXOY\\1URE",[])), 
    <<"">> = iolist_to_binary(re:replace("","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","onWS&OuXOY\\1URE",[global])), 
    <<".a">> = iolist_to_binary(re:replace(".a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","D\\1",[])), 
    <<".a">> = iolist_to_binary(re:replace(".a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","D\\1",[global])), 
    <<"-a">> = iolist_to_binary(re:replace("-a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","CU&qX&&",[])), 
    <<"-a">> = iolist_to_binary(re:replace("-a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","CU&qX&&",[global])), 
    <<"a-">> = iolist_to_binary(re:replace("a-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","AWEksHnb",[])), 
    <<"a-">> = iolist_to_binary(re:replace("a-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","AWEksHnb",[global])), 
    <<"a.">> = iolist_to_binary(re:replace("a.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","pDdW\\1Ja",[])), 
    <<"a.">> = iolist_to_binary(re:replace("a.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","pDdW\\1Ja",[global])), 
    <<"a_b">> = iolist_to_binary(re:replace("a_b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","sX\\1GuXg\\1M",[])), 
    <<"a_b">> = iolist_to_binary(re:replace("a_b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","sX\\1GuXg\\1M",[global])), 
    <<"a.-">> = iolist_to_binary(re:replace("a.-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","XerO",[])), 
    <<"a.-">> = iolist_to_binary(re:replace("a.-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","XerO",[global])), 
    <<"a..">> = iolist_to_binary(re:replace("a..","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","c&oypUmVFTuQ\\1",[])), 
    <<"a..">> = iolist_to_binary(re:replace("a..","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","c&oypUmVFTuQ\\1",[global])), 
    <<"ab..bc">> = iolist_to_binary(re:replace("ab..bc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","lfUtOX&i",[])), 
    <<"ab..bc">> = iolist_to_binary(re:replace("ab..bc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","lfUtOX&i",[global])), 
    <<"the.quick.brown.fox-">> = iolist_to_binary(re:replace("the.quick.brown.fox-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","d&SWUEw\\1lw&EK",[])), 
    <<"the.quick.brown.fox-">> = iolist_to_binary(re:replace("the.quick.brown.fox-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","d&SWUEw\\1lw&EK",[global])), 
    <<"the.quick.brown.fox.">> = iolist_to_binary(re:replace("the.quick.brown.fox.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","Sn\\1",[])), 
    <<"the.quick.brown.fox.">> = iolist_to_binary(re:replace("the.quick.brown.fox.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","Sn\\1",[global])), 
    <<"the.quick.brown.fox_">> = iolist_to_binary(re:replace("the.quick.brown.fox_","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","&pfLJ",[])), 
    <<"the.quick.brown.fox_">> = iolist_to_binary(re:replace("the.quick.brown.fox_","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","&pfLJ",[global])), 
    <<"the.quick.brown.fox+">> = iolist_to_binary(re:replace("the.quick.brown.fox+","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","TgSSa",[])), 
    <<"the.quick.brown.fox+">> = iolist_to_binary(re:replace("the.quick.brown.fox+","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","TgSSa",[global])), 
    <<"QalphabetabcdkrolcqqNP">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd|wxyz))","Q&krolcqqNP",[])), 
    <<"QalphabetabcdkrolcqqNPQkrolcqqNP">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd|wxyz))","Q&krolcqqNP",[global])), 
    <<"VIJWRwxyzSk">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd|wxyz))","VIJWR\\1Sk",[])), 
    <<"VIJWRwxyzSkVIJWRwxyzSk">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd|wxyz))","VIJWR\\1Sk",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>.*)(?<=(abcd|wxyz))","\\1&gWuF",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>.*)(?<=(abcd|wxyz))","\\1&gWuF",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"999Kofooh">> = iolist_to_binary(re:replace("999foo","(?<=\\d{3}(?!999))foo","Ko&h",[])), 
    <<"999Kofooh">> = iolist_to_binary(re:replace("999foo","(?<=\\d{3}(?!999))foo","Ko&h",[global])), 
    <<"123999eqaOjvQcm">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999))foo","\\1eqaO\\1jvQc\\1m",[])), 
    <<"123999eqaOjvQcm">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999))foo","\\1eqaO\\1jvQc\\1m",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999))foo","Re\\1UYpTHfhCxdlxiq",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999))foo","Re\\1UYpTHfhCxdlxiq",[global])), 
    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999))foo","ww",[])), 
    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999))foo","ww",[global])), 
    <<"999yvTHkcfoofoo">> = iolist_to_binary(re:replace("999foo","(?<=(?!...999)\\d{3})foo","yvT\\1Hkc\\1&&",[])), 
    <<"999yvTHkcfoofoo">> = iolist_to_binary(re:replace("999foo","(?<=(?!...999)\\d{3})foo","yvT\\1Hkc\\1&&",[global])), 
    <<"123999yatIrmp">> = iolist_to_binary(re:replace("123999foo","(?<=(?!...999)\\d{3})foo","yatIrmp",[])), 
    <<"123999yatIrmp">> = iolist_to_binary(re:replace("123999foo","(?<=(?!...999)\\d{3})foo","yatIrmp",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?!...999)\\d{3})foo","QnIaJrp\\1SWvhckCE",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?!...999)\\d{3})foo","QnIaJrp\\1SWvhckCE",[global])), 
    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=(?!...999)\\d{3})foo","racp\\1ypxW",[])), 
    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=(?!...999)\\d{3})foo","racp\\1ypxW",[global])), 
    <<"123abcHMcfoofoofoofooSLctffooFhIYC">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999)...)foo","HMc&&&&SLctf&FhIYC",[])), 
    <<"123abcHMcfoofoofoofooSLctffooFhIYC">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999)...)foo","HMc&&&&SLctf&FhIYC",[global])), 
    <<"123456tDCqfoo">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}(?!999)...)foo","t\\1DCq&",[])), 
    <<"123456tDCqfoo">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}(?!999)...)foo","t\\1DCq&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999)...)foo","hME",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999)...)foo","hME",[global])), 
    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999)...)foo","UyaU\\1e&PfYQtNU",[])), 
    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999)...)foo","UyaU\\1e&PfYQtNU",[global])), 
    ok.
run32() ->
    <<"123abccaCEM">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}...)(?<!999)foo","caCEM",[])), 
    <<"123abccaCEM">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}...)(?<!999)foo","caCEM",[global])), 
    <<"123456fSpVHIfooj">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}...)(?<!999)foo","fSpVHI&j",[])), 
    <<"123456fSpVHIfooj">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}...)(?<!999)foo","fSpVHI&j",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}...)(?<!999)foo","eLqPt",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}...)(?<!999)foo","eLqPt",[global])), 
    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}...)(?<!999)foo","&ORV",[])), 
    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}...)(?<!999)foo","&ORV",[global])), 
    <<"gIWbF<a href=abcdNFWj xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","gIWbF&NFWj",[caseless,
                                                                                             dotall,
                                                                                             extended])), 
    <<"gIWbF<a href=abcdNFWj xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","gIWbF&NFWj",[caseless,
                                                                                             dotall,
                                                                                             extended,
                                                                                             global])), 
    <<"l\"Ac cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","l\\1Ac",[caseless,
                                                                                           dotall,
                                                                                           extended])), 
    <<"l\"Ac cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","l\\1Ac",[caseless,
                                                                                           dotall,
                                                                                           extended,
                                                                                           global])), 
    <<"wMK'N'IKKxMErnc cats">> = iolist_to_binary(re:replace("<a href='abcd xyz pqr' cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","wMK\\1N\\1IKKxMErnc",[caseless,
                                                                                                          dotall,
                                                                                                          extended])), 
    <<"wMK'N'IKKxMErnc cats">> = iolist_to_binary(re:replace("<a href='abcd xyz pqr' cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
 ([\\\"\\'])?                       # find single or double quote
 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","wMK\\1N\\1IKKxMErnc",[caseless,
                                                                                                          dotall,
                                                                                                          extended,
                                                                                                          global])), 
    <<"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=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","OB&NftFV&\\1",[caseless,
                                                                                                 dotall,
                                                                                                 extended])), 
    <<"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=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","OB&NftFV&\\1",[caseless,
                                                                                                 dotall,
                                                                                                 extended,
                                                                                                 global])), 
    <<"<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=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","&LxBb&\\1EuHPuB\\1\\1dqn\\1U",[caseless,
                                                                                                                       dotall,
                                                                                                                       extended])), 
    <<"<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=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","&LxBb&\\1EuHPuB\\1\\1dqn\\1U",[caseless,
                                                                                                                       dotall,
                                                                                                                       extended,
                                                                                                                       global])), 
    <<"KCm'''H'Sd'O cats">> = iolist_to_binary(re:replace("<a href       =       'abcd xyz pqr' cats","<a\\s+href\\s*=\\s*                # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","KCm\\1\\1\\1H\\1Sd\\1O",[caseless,
                                                                                                                   dotall,
                                                                                                                   extended])), 
    <<"KCm'''H'Sd'O cats">> = iolist_to_binary(re:replace("<a href       =       'abcd xyz pqr' cats","<a\\s+href\\s*=\\s*                # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","KCm\\1\\1\\1H\\1Sd\\1O",[caseless,
                                                                                                                   dotall,
                                                                                                                   extended,
                                                                                                                   global])), 
    <<"hnRxfhjlJxA xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","hnRxfhjlJxA",[caseless,
                                                                                              dotall,
                                                                                              extended])), 
    <<"hnRxfhjlJxA xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","hnRxfhjlJxA",[caseless,
                                                                                              dotall,
                                                                                              extended,
                                                                                              global])), 
    <<"Md cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","Md",[caseless,
                                                                                     dotall,
                                                                                     extended])), 
    <<"Md cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","Md",[caseless,
                                                                                     dotall,
                                                                                     extended,
                                                                                     global])), 
    <<"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=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","TYyXigPSfkp&vsJ\\1B",[caseless,
                                                                                                        dotall,
                                                                                                        extended])), 
    <<"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=
 ([\"'])?                         # find single or double quote
 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
                                 # quote, otherwise match up to next space","TYyXigPSfkp&vsJ\\1B",[caseless,
                                                                                                        dotall,
                                                                                                        extended,
                                                                                                        global])), 
    <<"wMBCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","((Z)+|A)*","wM",[])), 
    <<"wMwMBwMCwMDwMEwMFwMGwM">> = iolist_to_binary(re:replace("ZABCDEFG","((Z)+|A)*","wM",[global])), 
    <<"bbZAKgAEEXBCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","(Z()|A)*","bb&Kg\\1EEX",[])), 
    <<"bbZAKgAEEXbbKgEEXBbbKgEEXCbbKgEEXDbbKgEEXEbbKgEEXFbbKgEEXGbbKgEEX">> = iolist_to_binary(re:replace("ZABCDEFG","(Z()|A)*","bb&Kg\\1EEX",[global])), 
    <<"dNoAtAFSCaAAZAXLDIZATBCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","(Z(())|A)*","dNo\\1t\\1FSCa\\1A&XLDI&T",[])), 
    <<"dNoAtAFSCaAAZAXLDIZATdNotFSCaAXLDITBdNotFSCaAXLDITCdNotFSCaAXLDITDdNotFSCaAXLDITEdNotFSCaAXLDITFdNotFSCaAXLDITGdNotFSCaAXLDIT">> = iolist_to_binary(re:replace("ZABCDEFG","(Z(())|A)*","dNo\\1t\\1FSCa\\1A&XLDI&T",[global])), 
    <<"ALpUZABCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","((?>Z)+|A)*","\\1LpU&",[])), 
    <<"ALpUZALpUBLpUCLpUDLpUELpUFLpUGLpU">> = iolist_to_binary(re:replace("ZABCDEFG","((?>Z)+|A)*","\\1LpU&",[global])), 
    <<"cMqaXsBwaDZABCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","((?>)+|A)*","cMq\\1\\1aX&sBw\\1aD",[])), 
    <<"cMqaXsBwaDZcMqaXsBwaDcMqaXAsBwaDcMqaXsBwaDBcMqaXsBwaDCcMqaXsBwaDDcMqaXsBwaDEcMqaXsBwaDFcMqaXsBwaDGcMqaXsBwaD">> = iolist_to_binary(re:replace("ZABCDEFG","((?>)+|A)*","cMq\\1\\1aX&sBw\\1aD",[global])), 
    <<"akaDGHXFpdvXlyHabbab">> = iolist_to_binary(re:replace("abbab","a*","&k&DGHXFpdvXlyH&",[])), 
    <<"akaDGHXFpdvXlyHakDGHXFpdvXlyHbkDGHXFpdvXlyHbakaDGHXFpdvXlyHakDGHXFpdvXlyHbkDGHXFpdvXlyH">> = iolist_to_binary(re:replace("abbab","a*","&k&DGHXFpdvXlyH&",[global])), 
    <<"YudMQIhVhnAHEwYsbcde">> = iolist_to_binary(re:replace("abcde","^[\\d-a]","YudMQIhVhnA\\1HE\\1wYs",[])), 
    <<"YudMQIhVhnAHEwYsbcde">> = iolist_to_binary(re:replace("abcde","^[\\d-a]","YudMQIhVhnA\\1HE\\1wYs",[global])), 
    <<"ITGPfithings">> = iolist_to_binary(re:replace("-things","^[\\d-a]","ITGPfi",[])), 
    <<"ITGPfithings">> = iolist_to_binary(re:replace("-things","^[\\d-a]","ITGPfi",[global])), 
    <<"LnPbdQ0digit">> = iolist_to_binary(re:replace("0digit","^[\\d-a]","\\1L\\1nP\\1\\1bdQ&",[])), 
    <<"LnPbdQ0digit">> = iolist_to_binary(re:replace("0digit","^[\\d-a]","\\1L\\1nP\\1\\1bdQ&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[\\d-a]","iDE&bvLKwXgDAsFK\\1Bjx",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[\\d-a]","iDE&bvLKwXgDAsFK\\1Bjx",[global])), 
    <<"bcdef">> = iolist_to_binary(re:replace("bcdef","^[\\d-a]","Hni&",[])), 
    <<"bcdef">> = iolist_to_binary(re:replace("bcdef","^[\\d-a]","Hni&",[global])), 
    <<">Aqg<">> = iolist_to_binary(re:replace("> 	

<","[[:space:]]+","Aqg",[])), 
    <<">Aqg<">> = iolist_to_binary(re:replace("> 	

<","[[:space:]]+","Aqg",[global])), 
    <<"> 	p 	 	EdRI 	wCXk 	jvFPn

<">> = iolist_to_binary(re:replace("> 	

<","[[:blank:]]+","&p&&\\1EdRI&wCXk&jvFPn",[])), 
    <<"> 	p 	 	EdRI 	wCXk 	jvFPn

<">> = iolist_to_binary(re:replace("> 	

<","[[:blank:]]+","&p&&\\1EdRI&wCXk&jvFPn",[global])), 
    <<">uUfO 	

Y 	

 	

kF 	

yXDhdgEU<">> = iolist_to_binary(re:replace("> 	

<","[\\s]+","uUfO&Y&&kF&yXDhdgEU",[])), 
    <<">uUfO 	

Y 	

 	

kF 	

yXDhdgEU<">> = iolist_to_binary(re:replace("> 	

<","[\\s]+","uUfO&Y&&kF&yXDhdgEU",[global])), 
    <<">LJx 	

SrSQ 	

LLV 	

c<">> = iolist_to_binary(re:replace("> 	

<","\\s+","L\\1Jx&SrSQ&LLV&c",[])), 
    <<">LJx 	

SrSQ 	

LLV 	

c<">> = iolist_to_binary(re:replace("> 	

<","\\s+","L\\1Jx&SrSQ&LLV&c",[global])), 
    <<"hjBvDrJpGabab">> = iolist_to_binary(re:replace("ab","ab","hjBv\\1DrJpG&&",[extended])), 
    <<"hjBvDrJpGabab">> = iolist_to_binary(re:replace("ab","ab","hjBv\\1DrJpG&&",[extended,
                                                                                                                                                                                  global])), 
    <<"a
MHFuJMpPfb">> = iolist_to_binary(re:replace("a
xb","(?!\\A)x","MHFuJ\\1MpPf",[multiline])), 
    <<"a
MHFuJMpPfb">> = iolist_to_binary(re:replace("a
xb","(?!\\A)x","MHFuJ\\1MpPf",[multiline,global])), 
    <<"a
xb">> = iolist_to_binary(re:replace("a
xb","(?!^)x","\\1&MUUB\\1&cvVsiXTO",[multiline])), 
    <<"a
xb">> = iolist_to_binary(re:replace("a
xb","(?!^)x","\\1&MUUB\\1&cvVsiXTO",[multiline,global])), 
    <<"ACPKQHic">> = iolist_to_binary(re:replace("abcabcabc","abc\\Qabc\\Eabc","ACPKQHic",[])), 
    <<"ACPKQHic">> = iolist_to_binary(re:replace("abcabcabc","abc\\Qabc\\Eabc","ACPKQHic",[global])), 
    <<"egYBIabc(*+|abciLq">> = iolist_to_binary(re:replace("abc(*+|abc","abc\\Q(*+|\\Eabc","\\1\\1e\\1gYBI&iLq",[])), 
    <<"egYBIabc(*+|abciLq">> = iolist_to_binary(re:replace("abc(*+|abc","abc\\Q(*+|\\Eabc","\\1\\1e\\1gYBI&iLq",[global])), 
    ok.
run33() ->
    <<"AbfsJWLabc abcabcptMOXYup">> = iolist_to_binary(re:replace("abc abcabc","   abc\\Q abc\\Eabc","AbfsJWL\\1&ptMOXYup",[extended])), 
    <<"AbfsJWLabc abcabcptMOXYup">> = iolist_to_binary(re:replace("abc abcabc","   abc\\Q abc\\Eabc","AbfsJWL\\1&ptMOXYup",[extended,
                                                                                                                                                                                                                                             global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   abc\\Q abc\\Eabc","GICvX&n",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   abc\\Q abc\\Eabc","GICvX&n",[extended,
                                                                                                                                                                                                                      global])), 
    <<"abcabcabc">> = iolist_to_binary(re:replace("abcabcabc","   abc\\Q abc\\Eabc","BJk\\1",[extended])), 
    <<"abcabcabc">> = iolist_to_binary(re:replace("abcabcabc","   abc\\Q abc\\Eabc","BJk\\1",[extended,
                                                                                                                                                                                                                global])), 
    <<"mabc#not comment
    literalBadWyqAUwNabc#not comment
    literalabc#not comment
    literalC">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E","m\\1&BadWyqAUwN&&C",[extended])), 
    <<"mabc#not comment
    literalBadWyqAUwNabc#not comment
    literalabc#not comment
    literalC">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E","m\\1&BadWyqAUwN&&C",[extended,global])), 
    <<"Ywruhyabc#not comment
    literal">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal","Ywr\\1uh\\1y&",[extended])), 
    <<"Ywruhyabc#not comment
    literal">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal","Ywr\\1uh\\1y&",[extended,global])), 
    <<"FWoMpwmabc#not comment
    literalabc#not comment
    literalAabc#not comment
    literalpnsNM">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E #more comment
    ","FW\\1oMpwm&&A&pnsNM",[extended])), 
    <<"FWoMpwmabc#not comment
    literalabc#not comment
    literalAabc#not comment
    literalpnsNM">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E #more comment
    ","FW\\1oMpwm&&A&pnsNM",[extended,global])), 
    <<"j">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E #more comment","j",[extended])), 
    <<"j">> = iolist_to_binary(re:replace("abc#not comment
    literal","abc#comment
    \\Q#not comment
    literal\\E #more comment","j",[extended,global])), 
    <<"ChAMNBQIJQHq">> = iolist_to_binary(re:replace("abc\\$xyz","\\Qabc\\$xyz\\E","ChAMNBQIJQHq",[])), 
    <<"ChAMNBQIJQHq">> = iolist_to_binary(re:replace("abc\\$xyz","\\Qabc\\$xyz\\E","ChAMNBQIJQHq",[global])), 
    <<"Qabc$xyzKpQ">> = iolist_to_binary(re:replace("abc$xyz","\\Qabc\\E\\$\\Qxyz\\E","Q&KpQ",[])), 
    <<"Qabc$xyzKpQ">> = iolist_to_binary(re:replace("abc$xyz","\\Qabc\\E\\$\\Qxyz\\E","Q&KpQ",[global])), 
    <<"iDjabcXpqUmXasnjCabc">> = iolist_to_binary(re:replace("abc","\\Gabc","\\1i\\1Dj&XpqUmXasnj\\1C\\1&",[])), 
    <<"iDjabcXpqUmXasnjCabc">> = iolist_to_binary(re:replace("abc","\\Gabc","\\1i\\1Dj&XpqUmXasnj\\1C\\1&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Gabc","i\\1joBu\\1ebM",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Gabc","i\\1joBu\\1ebM",[global])), 
    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","\\Gabc","pJK&la&\\1NSiseJOytL",[])), 
    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","\\Gabc","pJK&la&\\1NSiseJOytL",[global])), 
    <<"ohvLabc2xyzabc3">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","\\Gabc.","ohvL",[])), 
    <<"ohvLohvLxyzabc3">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","\\Gabc.","ohvL",[global])), 
    <<"HJiFabc1Chbjabc2xyzabc3">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","abc.","HJiF&Chbj",[])), 
    <<"HJiFabc1ChbjHJiFabc2ChbjxyzHJiFabc3Chbj">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","abc.","HJiF&Chbj",[global])), 
    <<"XxabcdrWcHPabcdKQabcdY">> = iolist_to_binary(re:replace("XabcdY","a(?x: b c )d","\\1x&rWcH\\1P&KQ&",[])), 
    <<"XxabcdrWcHPabcdKQabcdY">> = iolist_to_binary(re:replace("XabcdY","a(?x: b c )d","\\1x&rWcH\\1P&KQ&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?x: b c )d","yTwKPU\\1&NhlmWO",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?x: b c )d","yTwKPU\\1&NhlmWO",[global])), 
    <<"Xa b c d Y">> = iolist_to_binary(re:replace("Xa b c d Y","a(?x: b c )d","psI",[])), 
    <<"Xa b c d Y">> = iolist_to_binary(re:replace("Xa b c d Y","a(?x: b c )d","psI",[global])), 
    <<"XOabccFXabcgY">> = iolist_to_binary(re:replace("XabcY","((?x)x y z | a b c)","O&cFX\\1g",[])), 
    <<"XOabccFXabcgY">> = iolist_to_binary(re:replace("XabcY","((?x)x y z | a b c)","O&cFX\\1g",[global])), 
    <<"AxyzaoxyzB">> = iolist_to_binary(re:replace("AxyzB","((?x)x y z | a b c)","\\1ao&",[])), 
    <<"AxyzaoxyzB">> = iolist_to_binary(re:replace("AxyzB","((?x)x y z | a b c)","\\1ao&",[global])), 
    <<"XibY">> = iolist_to_binary(re:replace("XabCY","(?i)AB(?-i)C","ib",[])), 
    <<"XibY">> = iolist_to_binary(re:replace("XabCY","(?i)AB(?-i)C","ib",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i)AB(?-i)C","wYYUWrmo",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i)AB(?-i)C","wYYUWrmo",[global])), 
    <<"XabcY">> = iolist_to_binary(re:replace("XabcY","(?i)AB(?-i)C","o&CXr&jJvHyaNHQ",[])), 
    <<"XabcY">> = iolist_to_binary(re:replace("XabcY","(?i)AB(?-i)C","o&CXr&jJvHyaNHQ",[global])), 
    <<"ouJo">> = iolist_to_binary(re:replace("abCE","((?i)AB(?-i)C|D)E","ouJo",[])), 
    <<"ouJo">> = iolist_to_binary(re:replace("abCE","((?i)AB(?-i)C|D)E","ouJo",[global])), 
    <<"OcHODINyYSDEpUbBfxDEGM">> = iolist_to_binary(re:replace("DE","((?i)AB(?-i)C|D)E","OcHO\\1INyYS&pUbBfx&GM",[])), 
    <<"OcHODINyYSDEpUbBfxDEGM">> = iolist_to_binary(re:replace("DE","((?i)AB(?-i)C|D)E","OcHO\\1INyYS&pUbBfx&GM",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)AB(?-i)C|D)E","BYe",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)AB(?-i)C|D)E","BYe",[global])), 
    <<"abcE">> = iolist_to_binary(re:replace("abcE","((?i)AB(?-i)C|D)E","&rB\\1CAA",[])), 
    <<"abcE">> = iolist_to_binary(re:replace("abcE","((?i)AB(?-i)C|D)E","&rB\\1CAA",[global])), 
    <<"abCe">> = iolist_to_binary(re:replace("abCe","((?i)AB(?-i)C|D)E","a&LpvMhr",[])), 
    <<"abCe">> = iolist_to_binary(re:replace("abCe","((?i)AB(?-i)C|D)E","a&LpvMhr",[global])), 
    <<"dE">> = iolist_to_binary(re:replace("dE","((?i)AB(?-i)C|D)E","dS",[])), 
    <<"dE">> = iolist_to_binary(re:replace("dE","((?i)AB(?-i)C|D)E","dS",[global])), 
    <<"De">> = iolist_to_binary(re:replace("De","((?i)AB(?-i)C|D)E","cCfly&",[])), 
    <<"De">> = iolist_to_binary(re:replace("De","((?i)AB(?-i)C|D)E","cCfly&",[global])), 
    <<"Qabc123abcabcLBDabcXabca">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","Q&\\1LBD\\1X\\1a",[])), 
    <<"Qabc123abcabcLBDabcXabca">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","Q&\\1LBD\\1X\\1a",[global])), 
    <<"anTeSdybc123bcHldppbc123bcDx">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","nTeSdy&Hldpp&Dx",[])), 
    <<"anTeSdybc123bcHldppbc123bcDx">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","nTeSdy&Hldpp&Dx",[global])), 
    <<"pGabcabcabcabc123abcabc123abcawKG">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","pG\\1\\1\\1&&awKG",[dotall])), 
    <<"pGabcabcabcabc123abcabc123abcawKG">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","pG\\1\\1\\1&&awKG",[dotall,
                                                                                                                                                                                                                          global])), 
    <<"aMMJMXbc123bcGqwwAbc123bcEnL">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","MMJMX&GqwwA&EnL",[dotall])), 
    <<"aMMJMXbc123bcGqwwAbc123bcEnL">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","MMJMX&GqwwA&EnL",[dotall,
                                                                                                                                                                                                                 global])), 
    <<"qrVVkabc123abcwTosM">> = iolist_to_binary(re:replace("abc123abc","((.*))\\d+\\1","qrVVk&wTosM",[])), 
    <<"qrVVkabc123abcwTosM">> = iolist_to_binary(re:replace("abc123abc","((.*))\\d+\\1","qrVVk&wTosM",[global])), 
    <<"ayYbc123bcbcPPbcCodRbc123bcKbcVM">> = iolist_to_binary(re:replace("abc123bc","((.*))\\d+\\1","yY&\\1PP\\1CodR&K\\1VM",[])), 
    <<"ayYbc123bcbcPPbcCodRbc123bcKbcVM">> = iolist_to_binary(re:replace("abc123bc","((.*))\\d+\\1","yY&\\1PP\\1CodR&K\\1VM",[global])), 
    <<"LwcvndSdaPKHex">> = iolist_to_binary(re:replace("a123::a123","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","LwcvndSdaPKHex",[extended,caseless])), 
    <<"LwcvndSdaPKHex">> = iolist_to_binary(re:replace("a123::a123","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","LwcvndSdaPKHex",[extended,caseless,global])), 
    <<"RfGpa123:b342::abcdjkWGiWxPCIAx">> = iolist_to_binary(re:replace("a123:b342::abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","R\\1fGp&\\1jkWGiWxPCIAx",[extended,caseless])), 
    <<"RfGpa123:b342::abcdjkWGiWxPCIAx">> = iolist_to_binary(re:replace("a123:b342::abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","R\\1fGp&\\1jkWGiWxPCIAx",[extended,caseless,global])), 
    <<"FBOvYuiruXBa123:b342::324e:abcdaag">> = iolist_to_binary(re:replace("a123:b342::324e:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","FBOvYuir\\1uXB&aag",[extended,caseless])), 
    <<"FBOvYuiruXBa123:b342::324e:abcdaag">> = iolist_to_binary(re:replace("a123:b342::324e:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","FBOvYuir\\1uXB&aag",[extended,caseless,global])), 
    <<"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
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","krO&no&\\1Aq\\1W&L&kpysY",[extended,caseless])), 
    <<"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
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","krO&no&\\1Aq\\1W&L&kpysY",[extended,caseless,global])), 
    <<"DkvAQa123:ddde:b342::324e:dcba:abcdJw">> = iolist_to_binary(re:replace("a123:ddde:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","Dk\\1vAQ&J\\1w",[extended,caseless])), 
    <<"DkvAQa123:ddde:b342::324e:dcba:abcdJw">> = iolist_to_binary(re:replace("a123:ddde:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","Dk\\1vAQ&J\\1w",[extended,caseless,global])), 
    <<"peonyvOkMFYpa123:ddde:9999:b342::324e:dcba:abcdp">> = iolist_to_binary(re:replace("a123:ddde:9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","peo\\1n\\1yvOkMFY\\1\\1p&p",[extended,caseless])), 
    <<"peonyvOkMFYpa123:ddde:9999:b342::324e:dcba:abcdp">> = iolist_to_binary(re:replace("a123:ddde:9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","peo\\1n\\1yvOkMFY\\1\\1p&p",[extended,caseless,global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","qiY&iLNeXJ",[extended,caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","qiY&iLNeXJ",[extended,caseless,global])), 
    <<"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
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","O\\1E\\1yvbw\\1G&eF",[extended,caseless])), 
    <<"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
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","O\\1E\\1yvbw\\1G&eF",[extended,caseless,global])), 
    <<"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
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","dLaiU",[extended,caseless])), 
    <<"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
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","dLaiU",[extended,caseless,global])), 
    <<"a123::9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123::9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","wLFUSYFg&aIH\\1g&V",[extended,caseless])), 
    <<"a123::9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123::9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","wLFUSYFg&aIH\\1g&V",[extended,caseless,global])), 
    <<"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
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","giXrPJTSn\\1MX\\1C",[extended,caseless])), 
    <<"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
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","giXrPJTSn\\1MX\\1C",[extended,caseless,global])), 
    <<"::1">> = iolist_to_binary(re:replace("::1","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","vQ&R&",[extended,caseless])), 
    <<"::1">> = iolist_to_binary(re:replace("::1","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","vQ&R&",[extended,caseless,global])), 
    <<"abcd:fee0:123::">> = iolist_to_binary(re:replace("abcd:fee0:123::","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","wNB\\1C\\1T&k&vkfjS",[extended,caseless])), 
    <<"abcd:fee0:123::">> = iolist_to_binary(re:replace("abcd:fee0:123::","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","wNB\\1C\\1T&k&vkfjS",[extended,caseless,global])), 
    <<":1">> = iolist_to_binary(re:replace(":1","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","akxV\\1iHF&SgDPd&",[extended,caseless])), 
    <<":1">> = iolist_to_binary(re:replace(":1","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","akxV\\1iHF&SgDPd&",[extended,caseless,global])), 
    <<"1:">> = iolist_to_binary(re:replace("1:","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","QtJG\\1",[extended,caseless])), 
    <<"1:">> = iolist_to_binary(re:replace("1:","^(?!:)                       # colon disallowed at start
  (?:                         # start of item
    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
    (?(1)0 | () ) )           # if null previously matched, fail; else null
    :                         # followed by colon
  ){1,7}                      # end item; 1-7 of them required               
  [0-9a-f]{1,4} $             # final hex number at end of string
  (?(1)|.)                    # check that there was an empty component
  ","QtJG\\1",[extended,caseless,global])), 
    <<"thCzKtzX">> = iolist_to_binary(re:replace("z","[z\\Qa-d]\\E]","thC&Kt&X",[])), 
    <<"thCzKtzX">> = iolist_to_binary(re:replace("z","[z\\Qa-d]\\E]","thC&Kt&X",[global])), 
    <<"OWpbwPvaaDXmmr">> = iolist_to_binary(re:replace("a","[z\\Qa-d]\\E]","OWpbwPv&&DXmmr",[])), 
    <<"OWpbwPvaaDXmmr">> = iolist_to_binary(re:replace("a","[z\\Qa-d]\\E]","OWpbwPv&&DXmmr",[global])), 
    <<"vRf--tS-JWPTPl">> = iolist_to_binary(re:replace("-","[z\\Qa-d]\\E]","vR\\1\\1\\1f&&tS&JWPTPl",[])), 
    <<"vRf--tS-JWPTPl">> = iolist_to_binary(re:replace("-","[z\\Qa-d]\\E]","vR\\1\\1\\1f&&tS&JWPTPl",[global])), 
    <<"jExdDgrsjrfGMEAj">> = iolist_to_binary(re:replace("d","[z\\Qa-d]\\E]","j\\1Ex&Dgrsjrf\\1GMEA\\1j",[])), 
    <<"jExdDgrsjrfGMEAj">> = iolist_to_binary(re:replace("d","[z\\Qa-d]\\E]","j\\1Ex&Dgrsjrf\\1GMEA\\1j",[global])), 
    <<"BvV]Aqf">> = iolist_to_binary(re:replace("]","[z\\Qa-d]\\E]","BvV&Aqf",[])), 
    <<"BvV]Aqf">> = iolist_to_binary(re:replace("]","[z\\Qa-d]\\E]","BvV&Aqf",[global])), 
    <<"*** FhQsGEilers">> = iolist_to_binary(re:replace("*** Failers","[z\\Qa-d]\\E]","hQsG\\1E",[])), 
    <<"*** FhQsGEilers">> = iolist_to_binary(re:replace("*** Failers","[z\\Qa-d]\\E]","hQsG\\1E",[global])), 
    <<"b">> = iolist_to_binary(re:replace("b","[z\\Qa-d]\\E]","W\\1Au",[])), 
    <<"b">> = iolist_to_binary(re:replace("b","[z\\Qa-d]\\E]","W\\1Au",[global])), 
    ok.
run34() ->
    <<"KdrNqNfSzzqidyBChn">> = iolist_to_binary(re:replace("z","[\\z\\C]","KdrNqNfS\\1&&qidyBChn",[])), 
    <<"KdrNqNfSzzqidyBChn">> = iolist_to_binary(re:replace("z","[\\z\\C]","KdrNqNfS\\1&&qidyBChn",[global])), 
    <<"FWM">> = iolist_to_binary(re:replace("C","[\\z\\C]","FW\\1M",[])), 
    <<"FWM">> = iolist_to_binary(re:replace("C","[\\z\\C]","FW\\1M",[global])), 
    <<"FxjIeXxjLM">> = iolist_to_binary(re:replace("M","\\M","FxjIeXxjL&",[])), 
    <<"FxjIeXxjLM">> = iolist_to_binary(re:replace("M","\\M","FxjIeXxjL&",[global])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a+)*b","\\1AGI&o&owvv&Ew",[])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a+)*b","\\1AGI&o&owvv&Ew",[global])), 
    <<"„XAZidYPfGETo">> = iolist_to_binary(re:replace("„XAZXB","(?<=Z)X.","\\1\\1\\1idYPfGETo",[])), 
    <<"„XAZidYPfGETo">> = iolist_to_binary(re:replace("„XAZXB","(?<=Z)X.","\\1\\1\\1idYPfGETo",[global])), 
    <<"bNQDHCQab cd defgab cd defgLqxKPLt">> = iolist_to_binary(re:replace("ab cd defg","ab cd (?x) de fg","bNQDHCQ&&LqxKPLt",[])), 
    <<"bNQDHCQab cd defgab cd defgLqxKPLt">> = iolist_to_binary(re:replace("ab cd defg","ab cd (?x) de fg","bNQDHCQ&&LqxKPLt",[global])), 
    <<"kPHqOwBhoab cddefgWcAxPfqs">> = iolist_to_binary(re:replace("ab cddefg","ab cd(?x) de fg","k\\1PHqOwBho&WcAxP\\1fqs",[])), 
    <<"kPHqOwBhoab cddefgWcAxPfqs">> = iolist_to_binary(re:replace("ab cddefg","ab cd(?x) de fg","k\\1PHqOwBho&WcAxP\\1fqs",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","ab cd(?x) de fg","puhITHF\\1GmjJlsK",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","ab cd(?x) de fg","puhITHF\\1GmjJlsK",[global])), 
    <<"abcddefg">> = iolist_to_binary(re:replace("abcddefg","ab cd(?x) de fg","\\1UHa&nN\\1cm",[])), 
    <<"abcddefg">> = iolist_to_binary(re:replace("abcddefg","ab cd(?x) de fg","\\1UHa&nN\\1cm",[global])), 
    <<"foobarX">> = iolist_to_binary(re:replace("foobarX","(?<![^f]oo)(bar)","&",[])), 
    <<"foobarX">> = iolist_to_binary(re:replace("foobarX","(?<![^f]oo)(bar)","&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f]oo)(bar)","\\1Mu\\1yADtGr",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f]oo)(bar)","\\1Mu\\1yADtGr",[global])), 
    <<"boobarX">> = iolist_to_binary(re:replace("boobarX","(?<![^f]oo)(bar)","xE&\\1\\1\\1oKH",[])), 
    <<"boobarX">> = iolist_to_binary(re:replace("boobarX","(?<![^f]oo)(bar)","xE&\\1\\1\\1oKH",[global])), 
    <<"offYXXLgEkUWX">> = iolist_to_binary(re:replace("offX","(?<![^f])X","Y&&L\\1gEkUW&",[])), 
    <<"offYXXLgEkUWX">> = iolist_to_binary(re:replace("offX","(?<![^f])X","Y&&L\\1gEkUW&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f])X","WPlO&&XQQJOC&\\1SLu&I\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f])X","WPlO&&XQQJOC&\\1SLu&I\\1",[global])), 
    <<"onyX">> = iolist_to_binary(re:replace("onyX","(?<![^f])X","&&",[])), 
    <<"onyX">> = iolist_to_binary(re:replace("onyX","(?<![^f])X","&&",[global])), 
    <<"onyGaqXoXBMVBEXtSYRHR">> = iolist_to_binary(re:replace("onyX","(?<=[^f])X","Gaq&oXBMVBE&tSYRHR",[])), 
    <<"onyGaqXoXBMVBEXtSYRHR">> = iolist_to_binary(re:replace("onyX","(?<=[^f])X","Gaq&oXBMVBE&tSYRHR",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^f])X","Djt&",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^f])X","Djt&",[global])), 
    <<"offX">> = iolist_to_binary(re:replace("offX","(?<=[^f])X","GvvcQ\\1\\1&lBxPYfk&",[])), 
    <<"offX">> = iolist_to_binary(re:replace("offX","(?<=[^f])X","GvvcQ\\1\\1&lBxPYfk&",[global])), 
    <<"CrHVKxYsa
b
c">> = iolist_to_binary(re:replace("a
b
c","^","\\1CrHVKxYs",[multiline])), 
    <<"CrHVKxYsa
CrHVKxYsb
CrHVKxYsc">> = iolist_to_binary(re:replace("a
b
c","^","\\1CrHVKxYs",[multiline,global])), 
    <<"tQATKgVWcvM">> = iolist_to_binary(re:replace("","^","tQATKgVW&cvM",[multiline])), 
    <<"tQATKgVWcvM">> = iolist_to_binary(re:replace("","^","tQATKgVW&cvM",[multiline,
                                                                                                                                                                    global])), 
    <<"A
C
mnoJCDrViHC">> = iolist_to_binary(re:replace("A
C
C","(?<=C\\n)^","&mnoJCD&rV&iH",[multiline])), 
    <<"A
C
mnoJCDrViHC">> = iolist_to_binary(re:replace("A
C
C","(?<=C\\n)^","&mnoJCD&rV&iH",[multiline,global])), 
    <<"sybXaXBDYtXeaMXPXnbXaXbXaXC">> = iolist_to_binary(re:replace("bXaX","(?:(?(1)a|b)(X))+","sy&BDYt\\1eaM\\1P\\1n&&C",[])), 
    <<"sybXaXBDYtXeaMXPXnbXaXbXaXC">> = iolist_to_binary(re:replace("bXaX","(?:(?(1)a|b)(X))+","sy&BDYt\\1eaM\\1P\\1n&&C",[global])), 
    <<"KbXXaYYaYufAhHxbYRbXXaYYaYEGpjWY">> = iolist_to_binary(re:replace("bXXaYYaY","(?:(?(1)\\1a|b)(X|Y))+","K&ufAhHxb\\1R&EGpjW\\1",[])), 
    <<"KbXXaYYaYufAhHxbYRbXXaYYaYEGpjWY">> = iolist_to_binary(re:replace("bXXaYYaY","(?:(?(1)\\1a|b)(X|Y))+","K&ufAhHxb\\1R&EGpjW\\1",[global])), 
    <<"bXsOgbTHbXCbXuonYaXXaX">> = iolist_to_binary(re:replace("bXYaXXaX","(?:(?(1)\\1a|b)(X|Y))+","&sOgbTH&C&uon",[])), 
    <<"bXsOgbTHbXCbXuonYaXXaX">> = iolist_to_binary(re:replace("bXYaXXaX","(?:(?(1)\\1a|b)(X|Y))+","&sOgbTH&C&uon",[global])), 
    <<"JneobXbXBXXaYYaY">> = iolist_to_binary(re:replace("bXXaYYaY","()()()()()()()()()(?:(?(10)\\10a|b)(X|Y))+","Jn\\1eo&&BX\\1\\1",[])), 
    <<"JneobXbXBXXaYYaY">> = iolist_to_binary(re:replace("bXXaYYaY","()()()()()()()()()(?:(?(10)\\10a|b)(X|Y))+","Jn\\1eo&&BX\\1\\1",[global])), 
    <<"MGXaAc">> = iolist_to_binary(re:replace("abc]","[[,abc,]+]","MGXaAc",[])), 
    <<"MGXaAc">> = iolist_to_binary(re:replace("abc]","[[,abc,]+]","MGXaAc",[global])), 
    <<"QLdwhNFO">> = iolist_to_binary(re:replace("a,b]","[[,abc,]+]","QLdw\\1hNFO",[])), 
    <<"QLdwhNFO">> = iolist_to_binary(re:replace("a,b]","[[,abc,]+]","QLdw\\1hNFO",[global])), 
    <<"mrAsBve[a,b,c]UksE[a,b,c]">> = iolist_to_binary(re:replace("[a,b,c]","[[,abc,]+]","mrAsBve&U\\1k\\1sE&",[])), 
    <<"mrAsBve[a,b,c]UksE[a,b,c]">> = iolist_to_binary(re:replace("[a,b,c]","[[,abc,]+]","mrAsBve&U\\1k\\1sE&",[global])), 
    <<"AiIoucpHiJtVB">> = iolist_to_binary(re:replace("A B","(?-x: )","iI\\1oucpHiJtV",[extended])), 
    <<"AiIoucpHiJtVB">> = iolist_to_binary(re:replace("A B","(?-x: )","iI\\1oucpHiJtV",[extended,
                                                                                                                                                                                          global])), 
    <<"AfRWj # PetBdVWqyB">> = iolist_to_binary(re:replace("A # B","(?x)(?-x: \\s*#\\s*)","fRWj\\1&Pe\\1\\1tBdVW\\1qy",[])), 
    <<"AfRWj # PetBdVWqyB">> = iolist_to_binary(re:replace("A # B","(?x)(?-x: \\s*#\\s*)","fRWj\\1&Pe\\1\\1tBdVW\\1qy",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x)(?-x: \\s*#\\s*)","thjvygK\\1p&pYs\\1uBr",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x)(?-x: \\s*#\\s*)","thjvygK\\1p&pYs\\1uBr",[global])), 
    <<"#">> = iolist_to_binary(re:replace("#","(?x)(?-x: \\s*#\\s*)","tbFvq\\1IQg\\1RTAxEph",[])), 
    <<"#">> = iolist_to_binary(re:replace("#","(?x)(?-x: \\s*#\\s*)","tbFvq\\1IQg\\1RTAxEph",[global])), 
    <<"AVTpQN #includeS">> = iolist_to_binary(re:replace("A #include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","V\\1TpQN&S",[])), 
    <<"AVTpQN #includeS">> = iolist_to_binary(re:replace("A #include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","V\\1TpQN&S",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x-is)(?:(?-ixs) \\s*#\\s*) include","wlsB\\1O",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x-is)(?:(?-ixs) \\s*#\\s*) include","wlsB\\1O",[global])), 
    <<"A#include">> = iolist_to_binary(re:replace("A#include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","Yo\\1qtePMHamKUo&",[])), 
    <<"A#include">> = iolist_to_binary(re:replace("A#include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","Yo\\1qtePMHamKUo&",[global])), 
    <<"A #Include">> = iolist_to_binary(re:replace("A #Include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","\\1e&&X&vW",[])), 
    <<"A #Include">> = iolist_to_binary(re:replace("A #Include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","\\1e&&X&vW",[global])), 
    ok.
run35() ->
    <<"bKrRGsoSckoSG">> = iolist_to_binary(re:replace("aaabbbb","a*b*\\w","bKrRGsoSckoSG",[])), 
    <<"bKrRGsoSckoSG">> = iolist_to_binary(re:replace("aaabbbb","a*b*\\w","bKrRGsoSckoSG",[global])), 
    <<"xc">> = iolist_to_binary(re:replace("aaaa","a*b*\\w","\\1xc",[])), 
    <<"xc">> = iolist_to_binary(re:replace("aaaa","a*b*\\w","\\1xc",[global])), 
    <<"DiagFR">> = iolist_to_binary(re:replace("a","a*b*\\w","Di&\\1gFR",[])), 
    <<"DiagFR">> = iolist_to_binary(re:replace("a","a*b*\\w","Di&\\1gFR",[global])), 
    <<"xSaaabbESTgXbkTtoCbb">> = iolist_to_binary(re:replace("aaabbbb","a*b?\\w","\\1xS&E\\1STgXb\\1kTtoC",[])), 
    <<"xSaaabbESTgXbkTtoCxSbbESTgXbkTtoC">> = iolist_to_binary(re:replace("aaabbbb","a*b?\\w","\\1xS&E\\1STgXb\\1kTtoC",[global])), 
    <<"NFFaaaaAMaaaakpmD">> = iolist_to_binary(re:replace("aaaa","a*b?\\w","NFF&AM&kp\\1mD",[])), 
    <<"NFFaaaaAMaaaakpmD">> = iolist_to_binary(re:replace("aaaa","a*b?\\w","NFF&AM&kp\\1mD",[global])), 
    <<"KCaDnJouY">> = iolist_to_binary(re:replace("a","a*b?\\w","\\1KC&DnJouY",[])), 
    <<"KCaDnJouY">> = iolist_to_binary(re:replace("a","a*b?\\w","\\1KC&DnJouY",[global])), 
    <<"ItNl">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,4}\\w","ItNl",[])), 
    <<"ItNl">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,4}\\w","ItNl",[global])), 
    <<"SpCeqD">> = iolist_to_binary(re:replace("aaaa","a*b{0,4}\\w","SpCeqD",[])), 
    <<"SpCeqD">> = iolist_to_binary(re:replace("aaaa","a*b{0,4}\\w","SpCeqD",[global])), 
    <<"VwueYyNFc">> = iolist_to_binary(re:replace("a","a*b{0,4}\\w","Vwu\\1eYyN\\1Fc",[])), 
    <<"VwueYyNFc">> = iolist_to_binary(re:replace("a","a*b{0,4}\\w","Vwu\\1eYyN\\1Fc",[global])), 
    <<"KjgaaabbbbAaaabbbbJXahPyE">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,}\\w","Kjg&A&JXahP\\1yE",[])), 
    <<"KjgaaabbbbAaaabbbbJXahPyE">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,}\\w","Kjg&A&JXahP\\1yE",[global])), 
    <<"ngvFLRPw">> = iolist_to_binary(re:replace("aaaa","a*b{0,}\\w","ngvFLRPw",[])), 
    <<"ngvFLRPw">> = iolist_to_binary(re:replace("aaaa","a*b{0,}\\w","ngvFLRPw",[global])), 
    <<"DnucmfFKuYp">> = iolist_to_binary(re:replace("a","a*b{0,}\\w","Dn\\1ucm\\1\\1fFKuYp",[])), 
    <<"DnucmfFKuYp">> = iolist_to_binary(re:replace("a","a*b{0,}\\w","Dn\\1ucm\\1\\1fFKuYp",[global])), 
    <<"0aY">> = iolist_to_binary(re:replace("0a","a*\\d*\\w","&Y",[])), 
    <<"0aY">> = iolist_to_binary(re:replace("0a","a*\\d*\\w","&Y",[global])), 
    <<"xanCBUCkGaPAtML">> = iolist_to_binary(re:replace("a","a*\\d*\\w","x&nCBUCkG&PAt\\1ML",[])), 
    <<"xanCBUCkGaPAtML">> = iolist_to_binary(re:replace("a","a*\\d*\\w","x&nCBUCkG&PAt\\1ML",[global])), 
    <<"ii">> = iolist_to_binary(re:replace("a","a*b *\\w","ii",[extended])), 
    <<"ii">> = iolist_to_binary(re:replace("a","a*b *\\w","ii",[extended,
                                                                                                                                                                global])), 
    <<"VaGxIwMeaq">> = iolist_to_binary(re:replace("a","a*b#comment
  *\\w","V&GxIwMeaq",[extended])), 
    <<"VaGxIwMeaq">> = iolist_to_binary(re:replace("a","a*b#comment
  *\\w","V&GxIwMeaq",[extended,global])), 
    <<"AaapTXaPHaekH">> = iolist_to_binary(re:replace("a","a* b *\\w","Aa&pTX&PHaekH",[extended])), 
    <<"AaapTXaPHaekH">> = iolist_to_binary(re:replace("a","a* b *\\w","Aa&pTX&PHaekH",[extended,
                                                                                                                                                                                          global])), 
    <<"abc=xyz\\vmPNciE
pqr">> = iolist_to_binary(re:replace("abc=xyz\\
pqr","^\\w+=.*(\\\\\\n.*)*","&vmPNciE",[])), 
    <<"abc=xyz\\vmPNciE
pqr">> = iolist_to_binary(re:replace("abc=xyz\\
pqr","^\\w+=.*(\\\\\\n.*)*","&vmPNciE",[global])), 
    <<"oabcd:pabcd:qOabcdGfIeV">> = iolist_to_binary(re:replace("abcd:","(?=(\\w+))\\1:","o&p&qO\\1GfIeV",[])), 
    <<"oabcd:pabcd:qOabcdGfIeV">> = iolist_to_binary(re:replace("abcd:","(?=(\\w+))\\1:","o&p&qO\\1GfIeV",[global])), 
    <<"LTrSmxIPabcdOKMqwVAA">> = iolist_to_binary(re:replace("abcd:","^(?=(\\w+))\\1:","LTrSmxIP\\1OKMqwVAA",[])), 
    <<"LTrSmxIPabcdOKMqwVAA">> = iolist_to_binary(re:replace("abcd:","^(?=(\\w+))\\1:","LTrSmxIP\\1OKMqwVAA",[global])), 
    <<"aKjwwmYIpW">> = iolist_to_binary(re:replace("abc","^\\Eabc","aKj\\1w\\1wmY\\1Ip\\1W",[])), 
    <<"aKjwwmYIpW">> = iolist_to_binary(re:replace("abc","^\\Eabc","aKj\\1w\\1wmY\\1Ip\\1W",[global])), 
    <<"l">> = iolist_to_binary(re:replace("a","^[\\Eabc]","l",[])), 
    <<"l">> = iolist_to_binary(re:replace("a","^[\\Eabc]","l",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\Eabc]","bQ&mb\\1I&",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\Eabc]","bQ&mb\\1I&",[global])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[\\Eabc]","&qof&K&",[])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[\\Eabc]","&qof&K&",[global])), 
    <<"LbOibbFEALmTbt">> = iolist_to_binary(re:replace("b","^[a-\\Ec]","Lb\\1Oi&\\1\\1&FEA\\1Lm\\1T&t",[])), 
    <<"LbOibbFEALmTbt">> = iolist_to_binary(re:replace("b","^[a-\\Ec]","Lb\\1Oi&\\1\\1&FEA\\1Lm\\1T&t",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a-\\Ec]","PtF&e\\1KFwR&E",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a-\\Ec]","PtF&e\\1KFwR&E",[global])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[a-\\Ec]","N&Vuwq\\1D&\\1PXO&qg&Y",[])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[a-\\Ec]","N&Vuwq\\1D&\\1PXO&qg&Y",[global])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[a-\\Ec]","gfw",[])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[a-\\Ec]","gfw",[global])), 
    <<"m">> = iolist_to_binary(re:replace("b","^[a\\E\\E-\\Ec]","m",[])), 
    <<"m">> = iolist_to_binary(re:replace("b","^[a\\E\\E-\\Ec]","m",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a\\E\\E-\\Ec]","pr\\1hSV&a\\1Tq\\1uk\\1lGQn",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a\\E\\E-\\Ec]","pr\\1hSV&a\\1Tq\\1uk\\1lGQn",[global])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[a\\E\\E-\\Ec]","PLu\\1jRBxH&j",[])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[a\\E\\E-\\Ec]","PLu\\1jRBxH&j",[global])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[a\\E\\E-\\Ec]","\\1RonyFdbw&\\1UT",[])), 
    <<"E">> = iolist_to_binary(re:replace("E","^[a\\E\\E-\\Ec]","\\1RonyFdbw&\\1UT",[global])), 
    <<"LtmFeEubbhDoqNG">> = iolist_to_binary(re:replace("b","^[\\E\\Qa\\E-\\Qz\\E]+","L\\1tmF\\1eEu&&hDoqNG",[])), 
    <<"LtmFeEubbhDoqNG">> = iolist_to_binary(re:replace("b","^[\\E\\Qa\\E-\\Qz\\E]+","L\\1tmF\\1eEu&&hDoqNG",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\E\\Qa\\E-\\Qz\\E]+","ks\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\E\\Qa\\E-\\Qz\\E]+","ks\\1",[global])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[\\E\\Qa\\E-\\Qz\\E]+","DNi",[])), 
    <<"-">> = iolist_to_binary(re:replace("-","^[\\E\\Qa\\E-\\Qz\\E]+","DNi",[global])), 
    <<"UoqHQfFfbONSGdk">> = iolist_to_binary(re:replace("a","^[a\\Q]bc\\E]","\\1UoqHQfFf\\1bONSGd\\1k",[])), 
    <<"UoqHQfFfbONSGdk">> = iolist_to_binary(re:replace("a","^[a\\Q]bc\\E]","\\1UoqHQfFf\\1bONSGd\\1k",[global])), 
    <<"eMWv]QMxjJL]v">> = iolist_to_binary(re:replace("]","^[a\\Q]bc\\E]","eMWv&QMxjJL&v",[])), 
    <<"eMWv]QMxjJL]v">> = iolist_to_binary(re:replace("]","^[a\\Q]bc\\E]","eMWv&QMxjJL&v",[global])), 
    <<"sDtJKXcbIVQesK">> = iolist_to_binary(re:replace("c","^[a\\Q]bc\\E]","sD\\1tJKX&bI\\1V\\1QesK",[])), 
    <<"sDtJKXcbIVQesK">> = iolist_to_binary(re:replace("c","^[a\\Q]bc\\E]","sD\\1tJKX&bI\\1V\\1QesK",[global])), 
    <<"phuiWK">> = iolist_to_binary(re:replace("a","^[a-\\Q\\E]","phuiWK",[])), 
    <<"phuiWK">> = iolist_to_binary(re:replace("a","^[a-\\Q\\E]","phuiWK",[global])), 
    <<"e-EpaKAPD-M-">> = iolist_to_binary(re:replace("-","^[a-\\Q\\E]","e&Epa\\1KAPD\\1&M&",[])), 
    <<"e-EpaKAPD-M-">> = iolist_to_binary(re:replace("-","^[a-\\Q\\E]","e&Epa\\1KAPD\\1&M&",[global])), 
    <<"VKXawWoyOhQtKatma">> = iolist_to_binary(re:replace("aaaa","^(a()*)*","VKX\\1wWoyOhQtK\\1tm\\1",[])), 
    <<"VKXawWoyOhQtKatma">> = iolist_to_binary(re:replace("aaaa","^(a()*)*","VKX\\1wWoyOhQtK\\1tm\\1",[global])), 
    <<"tPRweiQ">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))*)*","tPRweiQ",[])), 
    <<"tPRweiQ">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))*)*","tPRweiQ",[global])), 
    ok.
run36() ->
    <<"n">> = iolist_to_binary(re:replace("aaaa","^(a()+)+","n",[])), 
    <<"n">> = iolist_to_binary(re:replace("aaaa","^(a()+)+","n",[global])), 
    <<"bI">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))+)+","bI",[])), 
    <<"bI">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))+)+","bI",[global])), 
    <<"GabbDDae">> = iolist_to_binary(re:replace("abbD","(a){0,3}(?(1)b|(c|))*D","G&D\\1e",[])), 
    <<"GabbDDae">> = iolist_to_binary(re:replace("abbD","(a){0,3}(?(1)b|(c|))*D","G&D\\1e",[global])), 
    <<"OV">> = iolist_to_binary(re:replace("ccccD","(a){0,3}(?(1)b|(c|))*D","OV",[])), 
    <<"OV">> = iolist_to_binary(re:replace("ccccD","(a){0,3}(?(1)b|(c|))*D","OV",[global])), 
    <<"XhjfKDReHaDNMSf">> = iolist_to_binary(re:replace("D","(a){0,3}(?(1)b|(c|))*D","Xhjf\\1K&ReHa&NM\\1Sf",[])), 
    <<"XhjfKDReHaDNMSf">> = iolist_to_binary(re:replace("D","(a){0,3}(?(1)b|(c|))*D","Xhjf\\1K&ReHa&NM\\1Sf",[global])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a|)*\\d","SbOGt&K",[])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a|)*\\d","SbOGt&K",[global])), 
    <<"xJrtco">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(a|)*\\d","\\1x\\1Jrtco",[])), 
    <<"xJrtco">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(a|)*\\d","\\1x\\1Jrtco",[global])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?>a|)*\\d","Y\\1\\1Fq&&Lb&&T&\\1&\\1\\1T",[])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?>a|)*\\d","Y\\1\\1Fq&&Lb&&T&\\1&\\1\\1T",[global])), 
    <<"ucWrNuavax">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?>a|)*\\d","ucWrNuavax",[])), 
    <<"ucWrNuavax">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?>a|)*\\d","ucWrNuavax",[global])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?:a|)*\\d","i\\1cf\\1CEE&\\1itOwcw&BF",[])), 
    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?:a|)*\\d","i\\1cf\\1CEE&\\1itOwcw&BF",[global])), 
    <<"WvhbrstiFWO">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?:a|)*\\d","Wv\\1hbrstiFWO",[])), 
    <<"WvhbrstiFWO">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?:a|)*\\d","Wv\\1hbrstiFWO",[global])), 
    <<"abcUhNS">> = iolist_to_binary(re:replace("abc","\\Z","UhNS&\\1\\1",[])), 
    <<"abcUhNS">> = iolist_to_binary(re:replace("abc","\\Z","UhNS&\\1\\1",[global])), 
    <<"FEgUNUkGWxyqopsabc">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","\\1FEgUNUkGWxyqops&\\1",[])), 
    <<"FEgUNUkGWxyqopsabc">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","\\1FEgUNUkGWxyqops&\\1",[global])), 
    <<"O">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","O\\1",[])), 
    <<"O">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","O\\1",[global])), 
    <<"xSVoQWsKeMpGQabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","xSV&oQWsKe&MpG&Q",[])), 
    <<"xSVoQWsKeMpGQabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","xSV&oQWsKe&MpG&Q",[global])), 
    <<"hAqynOabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","hA&qy\\1nO",[])), 
    <<"hAqynOabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","hA&qy\\1nO",[global])), 
    <<"abcbboJlolQwgwa">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","bbo\\1JlolQ\\1\\1wgwa",[])), 
    <<"abcbboJlolQwgwa">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","bbo\\1JlolQ\\1\\1wgwa",[global])), 
    <<"abcSrDg">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","SrDg&",[])), 
    <<"abcSrDg">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","SrDg&",[global])), 
    <<"aabcdiFPR">> = iolist_to_binary(re:replace("abcd","(.*(.)?)*","\\1a&iFPR\\1",[])), 
    <<"aabcdiFPRaiFPR">> = iolist_to_binary(re:replace("abcd","(.*(.)?)*","\\1a&iFPR\\1",[global])), 
    <<"uQWHjmFmJgqpvabcd">> = iolist_to_binary(re:replace("abcd","( (A | (?(1)0|) )*   )","u&QWHjmFmJgq\\1pv",[extended])), 
    <<"uQWHjmFmJgqpvauQWHjmFmJgqpvbuQWHjmFmJgqpvcuQWHjmFmJgqpvduQWHjmFmJgqpv">> = iolist_to_binary(re:replace("abcd","( (A | (?(1)0|) )*   )","u&QWHjmFmJgq\\1pv",[extended,
                                                                                                                                                                                                                                 global])), 
    <<"tgtbuAeydNDbQksBabcd">> = iolist_to_binary(re:replace("abcd","( ( (?(1)0|) )*   )","tg\\1tbuAe\\1ydNDbQksB\\1",[extended])), 
    <<"tgtbuAeydNDbQksBatgtbuAeydNDbQksBbtgtbuAeydNDbQksBctgtbuAeydNDbQksBdtgtbuAeydNDbQksB">> = iolist_to_binary(re:replace("abcd","( ( (?(1)0|) )*   )","tg\\1tbuAe\\1ydNDbQksB\\1",[extended,
                                                                                                                                                                                                                                            global])), 
    <<"geoFaKtBOldabcd">> = iolist_to_binary(re:replace("abcd","(  (?(1)0|)*   )","geoFa\\1K\\1\\1tBOld",[extended])), 
    <<"geoFaKtBOldageoFaKtBOldbgeoFaKtBOldcgeoFaKtBOlddgeoFaKtBOld">> = iolist_to_binary(re:replace("abcd","(  (?(1)0|)*   )","geoFa\\1K\\1\\1tBOld",[extended,
                                                                                                                                                                                                                            global])), 
    <<"a]FIQJiJK">> = iolist_to_binary(re:replace("a]","[[:abcd:xyz]]","&F\\1IQJiJK",[])), 
    <<"a]FIQJiJK">> = iolist_to_binary(re:replace("a]","[[:abcd:xyz]]","&F\\1IQJiJK",[global])), 
    <<"WWYQ:]Cfo:]">> = iolist_to_binary(re:replace(":]","[[:abcd:xyz]]","WWYQ&Cfo&\\1",[])), 
    <<"WWYQ:]Cfo:]">> = iolist_to_binary(re:replace(":]","[[:abcd:xyz]]","WWYQ&Cfo&\\1",[global])), 
    <<"qDnjOTLaOgtwATf">> = iolist_to_binary(re:replace("a","[abc[:x\\]pqr]","q\\1DnjOTL\\1&Og\\1twATf",[])), 
    <<"qDnjOTLaOgtwATf">> = iolist_to_binary(re:replace("a","[abc[:x\\]pqr]","q\\1DnjOTL\\1&Og\\1twATf",[global])), 
    <<"[">> = iolist_to_binary(re:replace("[","[abc[:x\\]pqr]","&\\1",[])), 
    <<"[">> = iolist_to_binary(re:replace("[","[abc[:x\\]pqr]","&\\1",[global])), 
    <<"mcQylXKI">> = iolist_to_binary(re:replace(":","[abc[:x\\]pqr]","\\1mcQy\\1\\1\\1lXKI",[])), 
    <<"mcQylXKI">> = iolist_to_binary(re:replace(":","[abc[:x\\]pqr]","\\1mcQy\\1\\1\\1lXKI",[global])), 
    <<"yLoVOOvX]MsmpqoJL">> = iolist_to_binary(re:replace("]","[abc[:x\\]pqr]","yLoVOOvX&MsmpqoJ\\1L",[])), 
    <<"yLoVOOvX]MsmpqoJL">> = iolist_to_binary(re:replace("]","[abc[:x\\]pqr]","yLoVOOvX&MsmpqoJ\\1L",[global])), 
    <<"X">> = iolist_to_binary(re:replace("p","[abc[:x\\]pqr]","\\1\\1X",[])), 
    <<"X">> = iolist_to_binary(re:replace("p","[abc[:x\\]pqr]","\\1\\1X",[global])), 
    <<"fooabcfoo">> = iolist_to_binary(re:replace("fooabcfoo",".*[op][xyz]","U&xA\\1PsdeOWUae&&Yna",[])), 
    <<"fooabcfoo">> = iolist_to_binary(re:replace("fooabcfoo",".*[op][xyz]","U&xA\\1PsdeOWUae&&Yna",[global])), 
    <<"QIBuirGXrnadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)","QIBuirGXrn",[])), 
    <<"QIBuirGXrnadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)","QIBuirGXrn",[global])), 
    <<"awbDHBgVdwqBlbic">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)","\\1w&DHBgVdwqBl&i",[])), 
    <<"awbDHBgVdwqBlbic">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)","\\1w&DHBgVdwqBl&i",[global])), 
    <<"bMxcDhNdGOtJIJBuCaadc">> = iolist_to_binary(re:replace("adc","(?(?=^.*b)b|^)","bMx\\1cDhNdGOtJIJBuCa&",[])), 
    <<"bMxcDhNdGOtJIJBuCaadc">> = iolist_to_binary(re:replace("adc","(?(?=^.*b)b|^)","bMx\\1cDhNdGOtJIJBuCa&",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?(?=^.*b)b|^)","nnHoU&\\1CMWtr",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(?(?=^.*b)b|^)","nnHoU&\\1CMWtr",[global])), 
    <<"PXRohlVadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)*","PX\\1\\1RohlV",[])), 
    <<"PXRohlVaPXRohlVdPXRohlVcPXRohlV">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)*","PX\\1\\1RohlV",[global])), 
    <<"qnabc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)*","&&qn",[])), 
    <<"qnabbqnqncqn">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)*","&&qn",[global])), 
    ok.
run37() ->
    <<"rFmutNbLVErIdadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)+","rFmutN\\1bLVE\\1r&Id",[])), 
    <<"rFmutNbLVErIdadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)+","rFmutN\\1bLVE\\1r&Id",[global])), 
    <<"auGFbmOYWc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)+","uGF&mOYW",[])), 
    <<"auGFbmOYWc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)+","uGF&mOYW",[global])), 
    <<"aLwwyNOhXnbPc">> = iolist_to_binary(re:replace("abc","(?(?=b).*b|^d)","L\\1wwyNOhXn&P",[])), 
    <<"aLwwyNOhXnbPc">> = iolist_to_binary(re:replace("abc","(?(?=b).*b|^d)","L\\1wwyNOhXn&P",[global])), 
    <<"asLUhduQyBc">> = iolist_to_binary(re:replace("abc","(?(?=.*b).*b|^d)","asLUhdu\\1Q\\1yB",[])), 
    <<"asLUhduQyBc">> = iolist_to_binary(re:replace("abc","(?(?=.*b).*b|^d)","asLUhdu\\1Q\\1yB",[global])), 
    <<"fiC%ab%h%ab%TxFpRPHS">> = iolist_to_binary(re:replace("%ab%","^%((?(?=[a])[^%])|b)*%$","fiC\\1&h&\\1TxFpRPHS",[])), 
    <<"fiC%ab%h%ab%TxFpRPHS">> = iolist_to_binary(re:replace("%ab%","^%((?(?=[a])[^%])|b)*%$","fiC\\1&h&\\1TxFpRPHS",[global])), 
    <<"XRMNILOabxXkxRwpX">> = iolist_to_binary(re:replace("XabX","(?i)a(?-i)b|c","\\1RMNILO&xX\\1kxRwp\\1",[])), 
    <<"XRMNILOabxXkxRwpX">> = iolist_to_binary(re:replace("XabX","(?i)a(?-i)b|c","\\1RMNILO&xX\\1kxRwp\\1",[global])), 
    <<"XvAGipJAbWX">> = iolist_to_binary(re:replace("XAbX","(?i)a(?-i)b|c","vAGipJ&W",[])), 
    <<"XvAGipJAbWX">> = iolist_to_binary(re:replace("XAbX","(?i)a(?-i)b|c","vAGipJ&W",[global])), 
    <<"CecknrhbVOUlbPhcC">> = iolist_to_binary(re:replace("CcC","(?i)a(?-i)b|c","e&knr\\1hbV\\1O\\1\\1UlbPh&",[])), 
    <<"CecknrhbVOUlbPhcC">> = iolist_to_binary(re:replace("CcC","(?i)a(?-i)b|c","e&knr\\1hbV\\1O\\1\\1UlbPh&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?i)a(?-i)b|c","oY\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?i)a(?-i)b|c","oY\\1",[global])), 
    <<"XABX">> = iolist_to_binary(re:replace("XABX","(?i)a(?-i)b|c","nMN",[])), 
    <<"XABX">> = iolist_to_binary(re:replace("XABX","(?i)a(?-i)b|c","nMN",[global])), 
    <<"

uhYqCJYVNVkjTafan">> = iolist_to_binary(re:replace("

","[\\x00-\\xff\\s]+","&uhY\\1qCJYVNVkj\\1Tafan",[])), 
    <<"

uhYqCJYVNVkjTafan">> = iolist_to_binary(re:replace("

","[\\x00-\\xff\\s]+","&uhY\\1qCJYVNVkj\\1Tafan",[global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","kAbCkN\\1XOTPWkPh",[caseless])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","kAbCkN\\1XOTPWkPh",[caseless,
                                                                                                                                                                                                   global])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","&LHRW\\1vSiG&pKPe",[])), 
    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","&LHRW\\1vSiG&pKPe",[global])), 
    <<"FPw12SGgbdRnHYs12Gabc">> = iolist_to_binary(re:replace("12abc","[^a]*","FPw&\\1SGgbdRnHYs&\\1G\\1",[caseless])), 
    <<"FPw12SGgbdRnHYs12GFPwSGgbdRnHYsGaFPwbcSGgbdRnHYsbcGFPwSGgbdRnHYsG">> = iolist_to_binary(re:replace("12abc","[^a]*","FPw&\\1SGgbdRnHYs&\\1G\\1",[caseless,
                                                                                                                                                                                                                    global])), 
    <<"ABC">> = iolist_to_binary(re:replace("12ABC","[^a]*","\\1",[caseless])), 
    <<"A">> = iolist_to_binary(re:replace("12ABC","[^a]*","\\1",[caseless,
                                                                                                                                                                    global])), 
    <<"rwrXcjPYabc">> = iolist_to_binary(re:replace("12abc","[^a]*+","rw\\1r\\1XcjPY",[caseless])), 
    <<"rwrXcjPYrwrXcjPYarwrXcjPYrwrXcjPY">> = iolist_to_binary(re:replace("12abc","[^a]*+","rw\\1r\\1XcjPY",[caseless,
                                                                                                                                                                                             global])), 
    <<"12Ebhb12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]*+","&Ebhb\\1&",[caseless])), 
    <<"12Ebhb12EbhbABCEbhbBCEbhb">> = iolist_to_binary(re:replace("12ABC","[^a]*+","&Ebhb\\1&",[caseless,
                                                                                                                                                                                    global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]*?X","vUGseV",[caseless])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]*?X","vUGseV",[caseless,
                                                                                                                                                                                       global])), 
    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]*?X","p\\1\\1IMIKml&O&E",[caseless])), 
    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]*?X","p\\1\\1IMIKml&O&E",[caseless,
                                                                                                                                                                                                       global])), 
    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]*?X","x\\1",[caseless])), 
    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]*?X","x\\1",[caseless,
                                                                                                                                                                          global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]+?X","Y\\1KYtfghC",[caseless])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]+?X","Y\\1KYtfghC",[caseless,
                                                                                                                                                                                                  global])), 
    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]+?X","CjJxtxeRkNqWb",[caseless])), 
    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]+?X","CjJxtxeRkNqWb",[caseless,
                                                                                                                                                                                           global])), 
    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]+?X","\\1T&I\\1\\1UFIhN&\\1a",[caseless])), 
    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]+?X","\\1T&I\\1\\1UFIhN&\\1a",[caseless,
                                                                                                                                                                                                                   global])), 
    <<"12aTtXNbcX">> = iolist_to_binary(re:replace("12aXbcX","[^a]?X","Tt&N",[caseless])), 
    <<"12aTtXNbTtcXN">> = iolist_to_binary(re:replace("12aXbcX","[^a]?X","Tt&N",[caseless,
                                                                                                                                                                            global])), 
    <<"12AXkPyHlRCnbcTxXoIkgXPBCX">> = iolist_to_binary(re:replace("12AXBCX","[^a]?X","&kPyHlRCnbcTx&oIkg&P",[caseless])), 
    <<"12AXkPyHlRCnbcTxXoIkgXPBCXkPyHlRCnbcTxCXoIkgCXP">> = iolist_to_binary(re:replace("12AXBCX","[^a]?X","&kPyHlRCnbcTx&oIkg&P",[caseless,
                                                                                                                                                                                                              global])), 
    <<"BCXABigfWDnwCXJ">> = iolist_to_binary(re:replace("BCX","[^a]?X","&ABigfWDnw&J",[caseless])), 
    <<"BCXABigfWDnwCXJ">> = iolist_to_binary(re:replace("BCX","[^a]?X","&ABigfWDnw&J",[caseless,
                                                                                                                                                                                     global])), 
    <<"12aYXWbgOvNcDMXVYThubcX">> = iolist_to_binary(re:replace("12aXbcX","[^a]??X","YX\\1\\1WbgOvNcDM&VYTh\\1u",[caseless])), 
    <<"12aYXWbgOvNcDMXVYThubYXWbgOvNcDMcXVYThu">> = iolist_to_binary(re:replace("12aXbcX","[^a]??X","YX\\1\\1WbgOvNcDM&VYTh\\1u",[caseless,
                                                                                                                                                                                                                             global])), 
    <<"12AEpmXPCouNXdKStKXBCX">> = iolist_to_binary(re:replace("12AXBCX","[^a]??X","Epm&PCouN&dKStK&",[caseless])), 
    <<"12AEpmXPCouNXdKStKXBEpmCXPCouNCXdKStKCX">> = iolist_to_binary(re:replace("12AXBCX","[^a]??X","Epm&PCouN&dKStK&",[caseless,
                                                                                                                                                                                                        global])), 
    <<"BaCXpoxfpseXfNhG">> = iolist_to_binary(re:replace("BCX","[^a]??X","a\\1&po\\1x\\1fps\\1eXfNhG",[caseless])), 
    <<"BaCXpoxfpseXfNhG">> = iolist_to_binary(re:replace("BCX","[^a]??X","a\\1&po\\1x\\1fps\\1eXfNhG",[caseless,
                                                                                                                                                                                                                      global])), 
    <<"12aXbgfcXfFQYBVbwm">> = iolist_to_binary(re:replace("12aXbcX","[^a]?+X","gf&fFQYBVbwm",[caseless])), 
    <<"12aXbgfcXfFQYBVbwm">> = iolist_to_binary(re:replace("12aXbcX","[^a]?+X","gf&fFQYBVbwm",[caseless,
                                                                                                                                                                                              global])), 
    <<"12AXBehBuhCXqmVsCXWtCXg">> = iolist_to_binary(re:replace("12AXBCX","[^a]?+X","ehBuh&q\\1\\1mV\\1s\\1&Wt&g",[caseless])), 
    <<"12AXBehBuhCXqmVsCXWtCXg">> = iolist_to_binary(re:replace("12AXBCX","[^a]?+X","ehBuh&q\\1\\1mV\\1s\\1&Wt&g",[caseless,
                                                                                                                                                                                                                                  global])), 
    <<"BQ">> = iolist_to_binary(re:replace("BCX","[^a]?+X","Q",[caseless])), 
    <<"BQ">> = iolist_to_binary(re:replace("BCX","[^a]?+X","Q",[caseless,
                                                                                                                                                               global])), 
    <<"ayFHgvqLgSIvMef">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}","\\1yFHgvq\\1LgSIvM",[caseless])), 
    <<"ayFHgvqLgSIvMyFHgvqLgSIvM">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}","\\1yFHgvq\\1LgSIvM",[caseless,
                                                                                                                                                                                                             global])), 
    <<"ADLEECoGfLBCDtOKBYRuEPEF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}","\\1DLEECoGfL&tOKBYRuEP",[caseless])), 
    <<"ADLEECoGfLBCDtOKBYRuEPDLEECoGfLEFtOKBYRuEP">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}","\\1DLEECoGfL&tOKBYRuEP",[caseless,
                                                                                                                                                                                                                     global])), 
    <<"aUeRruprbcLyGdbcOBlHdef">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}?","UeRrup\\1r\\1&Ly\\1Gd&OBlH",[caseless])), 
    <<"aUeRruprbcLyGdbcOBlHUeRruprdeLyGddeOBlHf">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}?","UeRrup\\1r\\1&Ly\\1Gd&OBlH",[caseless,
                                                                                                                                                                                                                                  global])), 
    <<"AmqfmUDEF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}?","mqfmU",[caseless])), 
    <<"AmqfmUmqfmUF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}?","mqfmU",[caseless,
                                                                                                                                                                                   global])), 
    <<"ajef">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}+","j",[caseless])), 
    <<"ajj">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}+","j",[caseless,
                                                                                                                                                                           global])), 
    <<"AmBCDGmEF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}+","m\\1&Gm",[caseless])), 
    <<"AmBCDGmmEFGm">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}+","m\\1&Gm",[caseless,
                                                                                                                                                                                         global])), 
    <<"VQZqc">> = iolist_to_binary(re:replace("Z","((a|)+)+Z","VQ&qc",[])), 
    <<"VQZqc">> = iolist_to_binary(re:replace("Z","((a|)+)+Z","VQ&qc",[global])), 
    ok.
run38() ->
    <<"PuyLdacsxAquacIQeUSo">> = iolist_to_binary(re:replace("ac","(a)b|(a)c","PuyLd&sxAqu&IQ\\1\\1eUSo",[])), 
    <<"PuyLdacsxAquacIQeUSo">> = iolist_to_binary(re:replace("ac","(a)b|(a)c","PuyLd&sxAqu&IQ\\1\\1eUSo",[global])), 
    <<"PfacaR">> = iolist_to_binary(re:replace("ac","(?>(a))b|(a)c","Pf&aR",[])), 
    <<"PfacaR">> = iolist_to_binary(re:replace("ac","(?>(a))b|(a)c","Pf&aR",[global])), 
    <<"acFJaBfLkqacLOtea">> = iolist_to_binary(re:replace("ac","(?=(a))ab|(a)c","&FJaBfLkq&LOtea",[])), 
    <<"acFJaBfLkqacLOtea">> = iolist_to_binary(re:replace("ac","(?=(a))ab|(a)c","&FJaBfLkq&LOtea",[global])), 
    <<"acGacsLawsVtbac">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)","\\1G&sLawsVtb\\1",[])), 
    <<"acGacsLawsVtbac">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)","\\1G&sLawsVtb\\1",[global])), 
    <<"acacoiIuacXacacraccbxYvQLU">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)++","&&oiIu&X\\1&r\\1cbxYvQLU",[])), 
    <<"acacoiIuacXacacraccbxYvQLU">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)++","&&oiIu&X\\1&r\\1cbxYvQLU",[global])), 
    <<"Gg">> = iolist_to_binary(re:replace("ac","(?:(?>(a))b|(a)c)++","\\1Gg",[])), 
    <<"Gg">> = iolist_to_binary(re:replace("ac","(?:(?>(a))b|(a)c)++","\\1Gg",[global])), 
    <<"unjEacjaceFacYac">> = iolist_to_binary(re:replace("ac","(?=(?>(a))b|(a)c)(..)","\\1u\\1njE&\\1j\\1&e\\1F&Y&\\1",[])), 
    <<"unjEacjaceFacYac">> = iolist_to_binary(re:replace("ac","(?=(?>(a))b|(a)c)(..)","\\1u\\1njE&\\1j\\1&e\\1F&Y&\\1",[global])), 
    <<"vacJbYTacPQOPmacrKp">> = iolist_to_binary(re:replace("ac","(?>(?>(a))b|(a)c)","v&JbYT&PQOPm&rKp",[])), 
    <<"vacJbYTacPQOPmacrKp">> = iolist_to_binary(re:replace("ac","(?>(?>(a))b|(a)c)","v&JbYT&PQOPm&rKp",[global])), 
    <<"n">> = iolist_to_binary(re:replace("aaaabaaabaabab","((?>(a+)b)+(aabab))","n",[])), 
    <<"n">> = iolist_to_binary(re:replace("aaaabaaabaabab","((?>(a+)b)+(aabab))","n",[global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+?c","wTE",[])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+?c","wTE",[global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+c","IcRpe",[])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+c","IcRpe",[global])), 
    <<"DJtCudRWwbqgG">> = iolist_to_binary(re:replace("aabc","(?:a+|ab)+c","DJtCudRWwbqgG",[])), 
    <<"DJtCudRWwbqgG">> = iolist_to_binary(re:replace("aabc","(?:a+|ab)+c","DJtCudRWwbqgG",[global])), 
    <<"aaaSoBtHaacWirPkada">> = iolist_to_binary(re:replace("a","(?(?=(a))a)","\\1\\1&SoBtH&&cWirPk&da",[])), 
    <<"aaaSoBtHaacWirPkadaSoBtHcWirPkda">> = iolist_to_binary(re:replace("a","(?(?=(a))a)","\\1\\1&SoBtH&&cWirPk&da",[global])), 
    <<"xSIuiabsLIGaaPOY">> = iolist_to_binary(re:replace("ab","(?(?=(a))a)(b)","xSIui\\1bsLIG\\1\\1POY",[])), 
    <<"xSIuiabsLIGaaPOY">> = iolist_to_binary(re:replace("ab","(?(?=(a))a)(b)","xSIui\\1bsLIG\\1\\1POY",[global])), 
    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)++c","G",[])), 
    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)++c","G",[global])), 
    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?>a|ab)++c","DPoYmBjVu",[])), 
    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?>a|ab)++c","DPoYmBjVu",[global])), 
    <<"Khaaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)+c","Kh&\\1",[])), 
    <<"Khaaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)+c","Kh&\\1",[global])), 
    <<"hxyzMPAlxyzbeeMvcxyzFnYVJ">> = iolist_to_binary(re:replace("xyz","(?=abc){0}xyz","h&MPAl&beeMvc&FnYVJ",[])), 
    <<"hxyzMPAlxyzbeeMvcxyzFnYVJ">> = iolist_to_binary(re:replace("xyz","(?=abc){0}xyz","h&MPAl&beeMvc&FnYVJ",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?=abc){1}xyz","pskDi\\1Vp\\1\\1KjCOoy&",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?=abc){1}xyz","pskDi\\1Vp\\1\\1KjCOoy&",[global])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","(?=abc){1}xyz","\\1P\\1h&aRQ",[])), 
    <<"xyz">> = iolist_to_binary(re:replace("xyz","(?=abc){1}xyz","\\1P\\1h&aRQ",[global])), 
    <<"aaPvGqLaOcNadob">> = iolist_to_binary(re:replace("ab","(?=(a))?.","a\\1PvGqL&OcN&do",[])), 
    <<"aaPvGqLaOcNadoaPvGqLbOcNbdo">> = iolist_to_binary(re:replace("ab","(?=(a))?.","a\\1PvGqL&OcN&do",[global])), 
    <<"nEGDfiQkQbbc">> = iolist_to_binary(re:replace("bc","(?=(a))?.","nEGDfiQkQ&&",[])), 
    <<"nEGDfiQkQbbnEGDfiQkQcc">> = iolist_to_binary(re:replace("bc","(?=(a))?.","nEGDfiQkQ&&",[global])), 
    ok.
run39() ->
    <<"pHaPSTCOlNb">> = iolist_to_binary(re:replace("ab","(?=(a))??.","pH&PSTC\\1OlN",[])), 
    <<"pHaPSTCOlNpHbPSTCOlN">> = iolist_to_binary(re:replace("ab","(?=(a))??.","pH&PSTC\\1OlN",[global])), 
    <<"jnEANc">> = iolist_to_binary(re:replace("bc","(?=(a))??.","j\\1nEA\\1N",[])), 
    <<"jnEANjnEAN">> = iolist_to_binary(re:replace("bc","(?=(a))??.","j\\1nEA\\1N",[global])), 
    <<"abdKPLVefHPcQ">> = iolist_to_binary(re:replace("abd","^(?=(?1))?[az]([abc])d","&KPLVefHPcQ",[])), 
    <<"abdKPLVefHPcQ">> = iolist_to_binary(re:replace("abd","^(?=(?1))?[az]([abc])d","&KPLVefHPcQ",[global])), 
    <<"kdvlzcdSEgEzcdiczcdrnUyHFzcdxx">> = iolist_to_binary(re:replace("zcdxx","^(?=(?1))?[az]([abc])d","kdvl&SEgE&i\\1&rnUyHF&",[])), 
    <<"kdvlzcdSEgEzcdiczcdrnUyHFzcdxx">> = iolist_to_binary(re:replace("zcdxx","^(?=(?1))?[az]([abc])d","kdvl&SEgE&i\\1&rnUyHF&",[global])), 
    <<"WusspaaaaaeVjGLaaaaanwQKJ">> = iolist_to_binary(re:replace("aaaaa","^(?!a){0}\\w+","Wussp\\1&eVjGL&nwQKJ",[])), 
    <<"WusspaaaaaeVjGLaaaaanwQKJ">> = iolist_to_binary(re:replace("aaaaa","^(?!a){0}\\w+","Wussp\\1&eVjGL&nwQKJ",[global])), 
    <<"abcKabcxyz">> = iolist_to_binary(re:replace("abcxyz","(?<=(abc))?xyz","K\\1&",[])), 
    <<"abcKabcxyz">> = iolist_to_binary(re:replace("abcxyz","(?<=(abc))?xyz","K\\1&",[global])), 
    <<"pqrFntxyzt">> = iolist_to_binary(re:replace("pqrxyz","(?<=(abc))?xyz","F\\1nt&t",[])), 
    <<"pqrFntxyzt">> = iolist_to_binary(re:replace("pqrxyz","(?<=(abc))?xyz","F\\1nt&t",[global])), 
    <<"ggg<<<aaa>>>OCbsBdbMyTuvtAF">> = iolist_to_binary(re:replace("ggg<<<aaa>>>","^[\\g<a>]+","\\1\\1&OCbsBdbM\\1yTuvtAF",[])), 
    <<"ggg<<<aaa>>>OCbsBdbMyTuvtAF">> = iolist_to_binary(re:replace("ggg<<<aaa>>>","^[\\g<a>]+","\\1\\1&OCbsBdbM\\1yTuvtAF",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\g<a>]+","emX&&&\\1S&&uUtF",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\g<a>]+","emX&&&\\1S&&uUtF",[global])), 
    <<"\\ga">> = iolist_to_binary(re:replace("\\ga","^[\\g<a>]+","d&uwF&X",[])), 
    <<"\\ga">> = iolist_to_binary(re:replace("\\ga","^[\\g<a>]+","d&uwF&X",[global])), 
    <<"gggagagaaEPEjNmgggagagaxCdmimaxyz">> = iolist_to_binary(re:replace("gggagagaxyz","^[\\ga]+","&aEP\\1EjNm&xCdm\\1\\1ima",[])), 
    <<"gggagagaaEPEjNmgggagagaxCdmimaxyz">> = iolist_to_binary(re:replace("gggagagaxyz","^[\\ga]+","&aEP\\1EjNm&xCdm\\1\\1ima",[global])), 
    <<"LqguCZ">> = iolist_to_binary(re:replace("aaaa444:::Z","^[:a[:digit:]]+","LqguC",[])), 
    <<"LqguCZ">> = iolist_to_binary(re:replace("aaaa444:::Z","^[:a[:digit:]]+","LqguC",[global])), 
    <<"Yaaaa444:::bbbnaaaa444:::bbbOuZ">> = iolist_to_binary(re:replace("aaaa444:::bbbZ","^[:a[:digit:]:b]+","Y&n&Ou",[])), 
    <<"Yaaaa444:::bbbnaaaa444:::bbbOuZ">> = iolist_to_binary(re:replace("aaaa444:::bbbZ","^[:a[:digit:]:b]+","Y&n&Ou",[global])), 
    <<"n:xxx::xxx:H:xxx:u:xxx:EQfs">> = iolist_to_binary(re:replace(":xxx:","[:a]xxx[b:]","n&&H&\\1u&EQf\\1s",[])), 
    <<"n:xxx::xxx:H:xxx:u:xxx:EQfs">> = iolist_to_binary(re:replace(":xxx:","[:a]xxx[b:]","n&&H&\\1u&EQf\\1s",[global])), 
    <<"xaabErbtiYvhBJbTRc">> = iolist_to_binary(re:replace("xaabc","(?<=a{2})b","&Er&tiYv\\1hB\\1J&TR",[caseless])), 
    <<"xaabErbtiYvhBJbTRc">> = iolist_to_binary(re:replace("xaabc","(?<=a{2})b","&Er&tiYv\\1hB\\1J&TR",[caseless,
                                                                                                                                                                                                                    global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=a{2})b","sIKbikA",[caseless])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=a{2})b","sIKbikA",[caseless,
                                                                                                                                                                                               global])), 
    <<"xabc">> = iolist_to_binary(re:replace("xabc","(?<=a{2})b","v\\1WGLw&Aj\\1&P&yFV\\1oME",[caseless])), 
    <<"xabc">> = iolist_to_binary(re:replace("xabc","(?<=a{2})b","v\\1WGLw&Aj\\1&P&yFV\\1oME",[caseless,
                                                                                                                                                                                                                               global])), 
    <<"xaOLJBdVsbrNnobNc">> = iolist_to_binary(re:replace("xabc","(?<!a{2})b","OL\\1\\1JBdVs&rNno\\1bN",[caseless])), 
    <<"xaOLJBdVsbrNnobNc">> = iolist_to_binary(re:replace("xabc","(?<!a{2})b","OL\\1\\1JBdVs&rNno\\1bN",[caseless,
                                                                                                                                                                                                                       global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<!a{2})b","b\\1U",[caseless])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<!a{2})b","b\\1U",[caseless,
                                                                                                                                                                                            global])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<!a{2})b","o",[caseless])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<!a{2})b","o",[caseless,
                                                                                                                                                                         global])), 
    <<"xa is">> = iolist_to_binary(re:replace("xa c","(?<=a\\h)c","is",[])), 
    <<"xa is">> = iolist_to_binary(re:replace("xa c","(?<=a\\h)c","is",[global])), 
    <<"axxDuvhoTEpKLbLbc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","DuvhoTEpKLbL&",[])), 
    <<"axxDuvhoTEpKLbLbc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","DuvhoTEpKLbL&",[global])), 
    <<"aAAxbbbGc">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","\\1\\1x&\\1&&G",[])), 
    <<"aAAxbbbGc">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","\\1\\1x&\\1&&G",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","Nt&ll\\1w",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","Nt&ll\\1w",[global])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","R",[])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","R",[global])), 
    <<"axxCbPYhXc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","C&PYhX",[caseless])), 
    <<"axxCbPYhXc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","C&PYhX",[caseless,
                                                                                                                                                                                          global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","d\\1jkBrqR&X&Fc\\1vd",[caseless])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","d\\1jkBrqR&X&Fc\\1vd",[caseless,
                                                                                                                                                                                                                                   global])), 
    <<"aAAbc">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","KNABa\\1\\1wON\\1S",[caseless])), 
    <<"aAAbc">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","KNABa\\1\\1wON\\1S",[caseless,
                                                                                                                                                                                                                    global])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","CQ&DXxjEdVkGvk\\1",[caseless])), 
    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","CQ&DXxjEdVkGvk\\1",[caseless,
                                                                                                                                                                                                                 global])), 
    <<"abcdTXqBlsLHncSPA">> = iolist_to_binary(re:replace("abc","(?<=a\\H)c","&dTXqBlsLH\\1n&SPA\\1",[])), 
    <<"abcdTXqBlsLHncSPA">> = iolist_to_binary(re:replace("abc","(?<=a\\H)c","&dTXqBlsLH\\1n&SPA\\1",[global])), 
    <<"abjV">> = iolist_to_binary(re:replace("abc","(?<=a\\V)c","jV",[])), 
    <<"abjV">> = iolist_to_binary(re:replace("abc","(?<=a\\V)c","jV",[global])), 
    <<"a
oscmdgX">> = iolist_to_binary(re:replace("a
c","(?<=a\\v)c","os&mdgX",[])), 
    <<"a
oscmdgX">> = iolist_to_binary(re:replace("a
c","(?<=a\\v)c","os&mdgX",[global])), 
    <<"XYpwLicvrdWdBXRX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)++Y","YpwL\\1icvrdWdBXR",[])), 
    <<"XYpwLicvrdWdBXRX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)++Y","YpwL\\1icvrdWdBXR",[global])), 
    <<"XialhPX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)*+Y","ia\\1lhP\\1",[])), 
    <<"XialhPX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)*+Y","ia\\1lhP\\1",[global])), 
    <<"aaaaaaaBYHaBaaaaaaaaaajJ">> = iolist_to_binary(re:replace("aaaaaaa","^(a{2,3}){2,}+a","&BYHaB\\1&jJ",[])), 
    <<"aaaaaaaBYHaBaaaaaaaaaajJ">> = iolist_to_binary(re:replace("aaaaaaa","^(a{2,3}){2,}+a","&BYHaB\\1&jJ",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3}){2,}+a","BVB",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3}){2,}+a","BVB",[global])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3}){2,}+a","&cSk&xmMuHJpt\\1&VoP",[])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3}){2,}+a","&cSk&xmMuHJpt\\1&VoP",[global])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a{2,3}){2,}+a","c",[])), 
    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a{2,3}){2,}+a","c",[global])), 
    ok.
run40() ->
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})++a","GeKmc\\1WhXfk\\1TBYDb&Ca",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})++a","GeKmc\\1WhXfk\\1TBYDb&Ca",[global])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})++a","MMBt&lb\\1&jbxk",[])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})++a","MMBt&lb\\1&jbxk",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})*+a","pwt&tvQ&X\\1uUUqymOuO",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})*+a","pwt&tvQ&X\\1uUUqymOuO",[global])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})*+a","\\1",[])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})*+a","\\1",[global])), 
    <<"ODb">> = iolist_to_binary(re:replace("abXde","ab\\Cde","ODb",[])), 
    <<"ODb">> = iolist_to_binary(re:replace("abXde","ab\\Cde","ODb",[global])), 
    <<"abZdeOUSVkwkXixHSXuXh">> = iolist_to_binary(re:replace("abZdeX","(?<=ab\\Cde)X","OUSVkw\\1k&ixHS\\1&u\\1&h",[])), 
    <<"abZdeOUSVkwkXixHSXuXh">> = iolist_to_binary(re:replace("abZdeX","(?<=ab\\Cde)X","OUSVkw\\1k&ixHS\\1&u\\1&h",[global])), 
    <<"wcl">> = iolist_to_binary(re:replace("aCb","a[\\CD]b","wcl",[])), 
    <<"wcl">> = iolist_to_binary(re:replace("aCb","a[\\CD]b","wcl",[global])), 
    <<"R">> = iolist_to_binary(re:replace("aDb","a[\\CD]b","R",[])), 
    <<"R">> = iolist_to_binary(re:replace("aDb","a[\\CD]b","R",[global])), 
    <<"aJbUeGhRaJb">> = iolist_to_binary(re:replace("aJb","a[\\C-X]b","&UeGhR&",[])), 
    <<"aJbUeGhRaJb">> = iolist_to_binary(re:replace("aJb","a[\\C-X]b","&UeGhR&",[global])), 
    <<"X X">> = iolist_to_binary(re:replace("X X","\\H\\h\\V\\v","&e&aKbUC&nHH\\1qy\\1",[])), 
    <<"X X">> = iolist_to_binary(re:replace("X X","\\H\\h\\V\\v","&e&aKbUC&nHH\\1qy\\1",[global])), 
    <<"JqKpfdXTX	XMbyX	XX	X">> = iolist_to_binary(re:replace("X	X","\\H\\h\\V\\v","JqKpfdXT&Mby&\\1&",[])), 
    <<"JqKpfdXTX	XMbyX	XX	X">> = iolist_to_binary(re:replace("X	X","\\H\\h\\V\\v","JqKpfdXT&Mby&\\1&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H\\h\\V\\v","FAmVe\\1O",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H\\h\\V\\v","FAmVe\\1O",[global])), 
    <<"  X">> = iolist_to_binary(re:replace("  X","\\H\\h\\V\\v","\\1mSDSJp",[])), 
    <<"  X">> = iolist_to_binary(re:replace("  X","\\H\\h\\V\\v","\\1mSDSJp",[global])), 
    <<"JagFUGCxoJ	  X

SMGCK">> = iolist_to_binary(re:replace("	  X

","\\H*\\h+\\V?\\v{3,4}","JagFUGCxoJ&\\1SMGCK",[])), 
    <<"JagFUGCxoJ	  X

SMGCK">> = iolist_to_binary(re:replace("	  X

","\\H*\\h+\\V?\\v{3,4}","JagFUGCxoJ&\\1SMGCK",[global])), 
    <<"	  

an	  

uIjsv">> = iolist_to_binary(re:replace("	  

","\\H*\\h+\\V?\\v{3,4}","&an&\\1uIjsv\\1",[])), 
    <<"	  

an	  

uIjsv">> = iolist_to_binary(re:replace("	  

","\\H*\\h+\\V?\\v{3,4}","&an&\\1uIjsv\\1",[global])), 
    <<"	  
Cnyt	  
sJWoCUIsrr">> = iolist_to_binary(re:replace("	  
","\\H*\\h+\\V?\\v{3,4}","&C\\1nyt\\1\\1&\\1sJWoCUIsrr",[])), 
    <<"	  
Cnyt	  
sJWoCUIsrr">> = iolist_to_binary(re:replace("	  
","\\H*\\h+\\V?\\v{3,4}","&C\\1nyt\\1\\1&\\1sJWoCUIsrr",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H*\\h+\\V?\\v{3,4}","heJfENVeR\\1TJ\\1&&Dvf",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H*\\h+\\V?\\v{3,4}","heJfENVeR\\1TJ\\1&&Dvf",[global])), 
    <<"	  
">> = iolist_to_binary(re:replace("	  
","\\H*\\h+\\V?\\v{3,4}","g&",[])), 
    <<"	  
">> = iolist_to_binary(re:replace("	  
","\\H*\\h+\\V?\\v{3,4}","g&",[global])), 
    <<"XY  bvHE">> = iolist_to_binary(re:replace("XY  ABCDE","\\H{3,4}","bvH",[])), 
    <<"XY  bvHE">> = iolist_to_binary(re:replace("XY  ABCDE","\\H{3,4}","bvH",[global])), 
    <<"XY  PQRGrQwU ST">> = iolist_to_binary(re:replace("XY  PQR ST","\\H{3,4}","&GrQw\\1U",[])), 
    <<"XY  PQRGrQwU ST">> = iolist_to_binary(re:replace("XY  PQR ST","\\H{3,4}","&GrQw\\1U",[global])), 
    <<"XY  AxeQRS">> = iolist_to_binary(re:replace("XY  AB    PQRS",".\\h{3,4}.","xe",[])), 
    <<"XY  AxeQRS">> = iolist_to_binary(re:replace("XY  AB    PQRS",".\\h{3,4}.","xe",[global])), 
    <<">PvFpXNNNYZpueukCvxXNNNYZUJ">> = iolist_to_binary(re:replace(">XNNNYZ","\\h*X\\h?\\H+Y\\H?Z","PvFp&pueukCv\\1\\1\\1x&UJ",[])), 
    <<">PvFpXNNNYZpueukCvxXNNNYZUJ">> = iolist_to_binary(re:replace(">XNNNYZ","\\h*X\\h?\\H+Y\\H?Z","PvFp&pueukCv\\1\\1\\1x&UJ",[global])), 
    <<">enigqoQeBUc  X NYQZFyFLjg">> = iolist_to_binary(re:replace(">  X NYQZ","\\h*X\\h?\\H+Y\\H?Z","\\1enigqo\\1QeBUc&FyFLjg",[])), 
    <<">enigqoQeBUc  X NYQZFyFLjg">> = iolist_to_binary(re:replace(">  X NYQZ","\\h*X\\h?\\H+Y\\H?Z","\\1enigqo\\1QeBUc&FyFLjg",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\h*X\\h?\\H+Y\\H?Z","X",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\h*X\\h?\\H+Y\\H?Z","X",[global])), 
    <<">XYZ">> = iolist_to_binary(re:replace(">XYZ","\\h*X\\h?\\H+Y\\H?Z","CSYvJMwNrX\\1",[])), 
    <<">XYZ">> = iolist_to_binary(re:replace(">XYZ","\\h*X\\h?\\H+Y\\H?Z","CSYvJMwNrX\\1",[global])), 
    <<">  X NY Z">> = iolist_to_binary(re:replace(">  X NY Z","\\h*X\\h?\\H+Y\\H?Z","WVcuLyAOpQ&",[])), 
    <<">  X NY Z">> = iolist_to_binary(re:replace(">  X NY Z","\\h*X\\h?\\H+Y\\H?Z","WVcuLyAOpQ&",[global])), 
    <<">EXY
Z
ANNPIMXY
Z
ANNEvk">> = iolist_to_binary(re:replace(">XY
Z
ANN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","E&PIM\\1&E\\1vk",[])), 
    <<">EXY
Z
ANNPIMXY
Z
ANNEvk">> = iolist_to_binary(re:replace(">XY
Z
ANN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","E&PIM\\1&E\\1vk",[global])), 
    <<">ux">> = iolist_to_binary(re:replace(">

X
Y
ZZZ
AAANNN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","\\1ux",[])), 
    <<">ux">> = iolist_to_binary(re:replace(">

X
Y
ZZZ
AAANNN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","\\1ux",[global])), 
    <<"fooIlI">> = iolist_to_binary(re:replace("foobar","(foo)\\Kbar","IlI",[])), 
    <<"fooIlI">> = iolist_to_binary(re:replace("foobar","(foo)\\Kbar","IlI",[global])), 
    <<"fooMAfoowltkWfEDP">> = iolist_to_binary(re:replace("foobar","(foo)(\\Kbar|baz)","MA\\1wltkWfEDP",[])), 
    <<"fooMAfoowltkWfEDP">> = iolist_to_binary(re:replace("foobar","(foo)(\\Kbar|baz)","MA\\1wltkWfEDP",[global])), 
    <<"foobazhoMQ">> = iolist_to_binary(re:replace("foobaz","(foo)(\\Kbar|baz)","&hoMQ",[])), 
    <<"foobazhoMQ">> = iolist_to_binary(re:replace("foobaz","(foo)(\\Kbar|baz)","&hoMQ",[global])), 
    <<"fooenlbarbazfoobarOskJvtabarbazfoobarePBU">> = iolist_to_binary(re:replace("foobarbaz","(foo\\Kbar)baz","enl&\\1OskJvta&\\1ePBU",[])), 
    <<"fooenlbarbazfoobarOskJvtabarbazfoobarePBU">> = iolist_to_binary(re:replace("foobarbaz","(foo\\Kbar)baz","enl&\\1OskJvta&\\1ePBU",[global])), 
    <<"BDWEtomstom-tomtom-tom">> = iolist_to_binary(re:replace("tom-tom","(?<A>tom|bon)-\\g{A}","BDWE\\1s&&",[])), 
    <<"BDWEtomstom-tomtom-tom">> = iolist_to_binary(re:replace("tom-tom","(?<A>tom|bon)-\\g{A}","BDWE\\1s&&",[global])), 
    <<"wjbonFbon-bon">> = iolist_to_binary(re:replace("bon-bon","(?<A>tom|bon)-\\g{A}","wj\\1F&",[])), 
    <<"wjbonFbon-bon">> = iolist_to_binary(re:replace("bon-bon","(?<A>tom|bon)-\\g{A}","wj\\1F&",[global])), 
    <<"bacxxx">> = iolist_to_binary(re:replace("bacxxx","(^(a|b\\g{-1}))","Sx",[])), 
    <<"bacxxx">> = iolist_to_binary(re:replace("bacxxx","(^(a|b\\g{-1}))","Sx",[global])), 
    <<"H">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))\\1","H",[])), 
    <<"H">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))\\1","H",[global])), 
    <<"yxyzWcxyzxyzduabfPinElhSxyzxyzxyzxyz">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))\\1","y\\1Wc&duabfPinElhS&&",[])), 
    <<"yxyzWcxyzxyzduabfPinElhSxyzxyzxyzxyz">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))\\1","y\\1Wc&duabfPinElhS&&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))\\1","b\\1&layoQ",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))\\1","b\\1&layoQ",[global])), 
    <<"abcxyz">> = iolist_to_binary(re:replace("abcxyz","(?|(abc)|(xyz))\\1","pF",[])), 
    <<"abcxyz">> = iolist_to_binary(re:replace("abcxyz","(?|(abc)|(xyz))\\1","pF",[global])), 
    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))\\1","GblOAJxEl",[])), 
    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))\\1","GblOAJxEl",[global])), 
    <<"wDMUaJIhLW">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))(?1)","wDMUaJIhLW",[])), 
    <<"wDMUaJIhLW">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))(?1)","wDMUaJIhLW",[global])), 
    <<"uhDuxyzJEuDDxyzabcJKaxyzabcvdX">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))(?1)","uhDu\\1JEuDD&JKa&vdX",[])), 
    <<"uhDuxyzJEuDDxyzabcJKaxyzabcvdX">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))(?1)","uhDu\\1JEuDD&JKa&vdX",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))(?1)","oUFI&utTyJ",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))(?1)","oUFI&utTyJ",[global])), 
    <<"xyzxyz">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))(?1)","ib\\1&erlkw&wuHdHNtS",[])), 
    <<"xyzxyz">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))(?1)","ib\\1&erlkw&wuHdHNtS",[global])), 
    ok.
run41() ->
    <<"UAyUXYabcdYapHaoXYabcdYOaaHkXYabcdY">> = iolist_to_binary(re:replace("XYabcdY","^X(?5)(a)(?|(b)|(q))(c)(d)(Y)","UAyU&\\1pH\\1o&O\\1\\1Hk&",[])), 
    <<"UAyUXYabcdYapHaoXYabcdYOaaHkXYabcdY">> = iolist_to_binary(re:replace("XYabcdY","^X(?5)(a)(?|(b)|(q))(c)(d)(Y)","UAyU&\\1pH\\1o&O\\1\\1Hk&",[global])), 
    <<"UlXYabcdYmKaP">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)","Ul&mKaP",[])), 
    <<"UlXYabcdYmKaP">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)","Ul&mKaP",[global])), 
    <<"mOVIXYabcdYkbaNflC">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)","mOVI&kb\\1NflC",[])), 
    <<"mOVIXYabcdYkbaNflC">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)","mOVI&kb\\1NflC",[global])), 
    <<"a:aaaua:aaaa:aacaKjjSkMSaLxyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\k<abc>{2}","&\\1u&a&caKjjSkMS\\1L",[])), 
    <<"a:aaaua:aaaa:aacaKjjSkMSaLxyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\k<abc>{2}","&\\1u&a&caKjjSkMS\\1L",[global])), 
    <<"ab:ababDababxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\k<abc>{2}","&D\\1\\1",[])), 
    <<"ab:ababDababxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\k<abc>{2}","&D\\1\\1",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\k<abc>{2}","NhofxbK\\1smLiNJ\\1YyrV",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\k<abc>{2}","NhofxbK\\1smLiNJ\\1YyrV",[global])), 
    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\k<abc>{2}","&R&&m&&",[])), 
    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\k<abc>{2}","&R&&m&&",[global])), 
    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\k<abc>{2}","cxccnpYwqQ",[])), 
    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\k<abc>{2}","cxccnpYwqQ",[global])), 
    <<"waYQqa:aalJrcNa:aaQujaFa:aanxyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\g{abc}{2}","w\\1YQq&lJrcN&Quj\\1F&n",[])), 
    <<"waYQqa:aalJrcNa:aaQujaFa:aanxyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\g{abc}{2}","w\\1YQq&lJrcN&Quj\\1F&n",[global])), 
    <<"SSNdab:ababnWnnujabab:ababab:ababxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\g{abc}{2}","SSNd&nWnnuj\\1&&",[])), 
    <<"SSNdab:ababnWnnujabab:ababab:ababxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\g{abc}{2}","SSNd&nWnnuj\\1&&",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\g{abc}{2}","sC\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\g{abc}{2}","sC\\1",[global])), 
    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\g{abc}{2}","\\1&KtbPW\\1jI",[])), 
    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\g{abc}{2}","\\1&KtbPW\\1jI",[global])), 
    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\g{abc}{2}","&Dh",[])), 
    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\g{abc}{2}","&Dh",[global])), 
    <<"HX">> = iolist_to_binary(re:replace("abd","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","HX",[extended])), 
    <<"HX">> = iolist_to_binary(re:replace("abd","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","HX",[extended,
                                                                                                                                                                                                                                           global])), 
    <<"BlTxckgd">> = iolist_to_binary(re:replace("ce","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","BlTx\\1ckgd",[extended])), 
    <<"BlTxckgd">> = iolist_to_binary(re:replace("ce","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","BlTx\\1ckgd",[extended,
                                                                                                                                                                                                                                                            global])), 
    <<"WbqaXaXZ">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g-1Z","Wbq&",[])), 
    <<"WbqaXaXZ">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g-1Z","Wbq&",[global])), 
    <<"xLqaXYaXouuKkaXU">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g{-1}Z","xLq\\1Y\\1ouuKk\\1U",[])), 
    <<"xLqaXYaXouuKkaXU">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g{-1}Z","xLq\\1Y\\1ouuKk\\1U",[global])), 
    <<"uADabXiwJcd">> = iolist_to_binary(re:replace("abcd","^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) ","uAD&XiwJ",[extended])), 
    <<"uADabXiwJcd">> = iolist_to_binary(re:replace("abcd","^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) ","uAD&XiwJ",[extended,
                                                                                                                                                                                                                                                            global])), 
    <<"metcalfe 33yCmetcalfe 33jQmetcalfemetcalfe 33metcalfe 33E">> = iolist_to_binary(re:replace("metcalfe 33","(?<NAME>(?&NAME_PAT))\\s+(?<ADDR>(?&ADDRESS_PAT))
  (?(DEFINE)
  (?<NAME_PAT>[a-z]+)
  (?<ADDRESS_PAT>\\d+)
  )","&yC&jQ\\1&&E",[extended])), 
    <<"metcalfe 33yCmetcalfe 33jQmetcalfemetcalfe 33metcalfe 33E">> = iolist_to_binary(re:replace("metcalfe 33","(?<NAME>(?&NAME_PAT))\\s+(?<ADDR>(?&ADDRESS_PAT))
  (?(DEFINE)
  (?<NAME_PAT>[a-z]+)
  (?<ADDRESS_PAT>\\d+)
  )","&yC&jQ\\1&&E",[extended,global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"** 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&",[])), 
    <<"** 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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"** 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",[])), 
    <<"** 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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\w++|\\s++)*$","VxnH\\1OwDhnQQemGf&IJ",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\w++|\\s++)*$","VxnH\\1OwDhnQQemGf&IJ",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"X12345aM">> = iolist_to_binary(re:replace("12345a","(\\d++)(\\w)","X&M",[])), 
    <<"X12345aM">> = iolist_to_binary(re:replace("12345a","(\\d++)(\\w)","X&M",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\d++)(\\w)","G&QA&qhihaMMrQ",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\d++)(\\w)","G&QA&qhihaMMrQ",[global])), 
    <<"12345+">> = iolist_to_binary(re:replace("12345+","(\\d++)(\\w)","kIxM\\1rD\\1B\\1a",[])), 
    <<"12345+">> = iolist_to_binary(re:replace("12345+","(\\d++)(\\w)","kIxM\\1rD\\1B\\1a",[global])), 
    <<"tkeKIY">> = iolist_to_binary(re:replace("aaab","a++b","tkeKIY",[])), 
    <<"tkeKIY">> = iolist_to_binary(re:replace("aaab","a++b","tkeKIY",[global])), 
    <<"aaabIaaab">> = iolist_to_binary(re:replace("aaab","(a++b)","\\1I\\1",[])), 
    <<"aaabIaaab">> = iolist_to_binary(re:replace("aaab","(a++b)","\\1I\\1",[global])), 
    <<"rOaaabYBnR">> = iolist_to_binary(re:replace("aaab","(a++)b","rO&YBnR",[])), 
    <<"rOaaabYBnR">> = iolist_to_binary(re:replace("aaab","(a++)b","rO&YBnR",[global])), 
    <<"((uwsqruwBU">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","([^()]++|\\([^()]*\\))+","uwsqruwBU",[])), 
    <<"((uwsqruwBU">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","([^()]++|\\([^()]*\\))+","uwsqruwBU",[global])), 
    <<"(abc)GFFGlEEaBgxgufwp">> = iolist_to_binary(re:replace("(abc)","\\(([^()]++|\\([^()]+\\))+\\)","&GFFGlEEaBgxgufwp",[])), 
    <<"(abc)GFFGlEEaBgxgufwp">> = iolist_to_binary(re:replace("(abc)","\\(([^()]++|\\([^()]+\\))+\\)","&GFFGlEEaBgxgufwp",[global])), 
    <<"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&&",[])), 
    <<"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])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(([^()]++|\\([^()]+\\))+\\)","ieL\\1IsedxuM",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(([^()]++|\\([^()]+\\))+\\)","ieL\\1IsedxuM",[global])), 
    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(([^()]++|\\([^()]+\\))+\\)","&\\1fqeu\\1",[])), 
    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(([^()]++|\\([^()]+\\))+\\)","&\\1fqeu\\1",[global])), 
    <<"kqQTCl">> = iolist_to_binary(re:replace("abc","^([^()]|\\((?1)*\\))*$","kqQTCl",[])), 
    <<"kqQTCl">> = iolist_to_binary(re:replace("abc","^([^()]|\\((?1)*\\))*$","kqQTCl",[global])), 
    <<"cRla(b)cGc">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","\\1Rl&G\\1",[])), 
    <<"cRla(b)cGc">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","\\1Rl&G\\1",[global])), 
    <<"dKa(b(c))dfGndCr">> = iolist_to_binary(re:replace("a(b(c))d","^([^()]|\\((?1)*\\))*$","\\1K&fGn\\1Cr",[])), 
    <<"dKa(b(c))dfGndCr">> = iolist_to_binary(re:replace("a(b(c))d","^([^()]|\\((?1)*\\))*$","\\1K&fGn\\1Cr",[global])), 
    <<"*** Failers)">> = iolist_to_binary(re:replace("*** Failers)","^([^()]|\\((?1)*\\))*$","\\1n\\1&umpF&",[])), 
    <<"*** Failers)">> = iolist_to_binary(re:replace("*** Failers)","^([^()]|\\((?1)*\\))*$","\\1n\\1&umpF&",[global])), 
    <<"a(b(c)d">> = iolist_to_binary(re:replace("a(b(c)d","^([^()]|\\((?1)*\\))*$","\\1JTc",[])), 
    <<"a(b(c)d">> = iolist_to_binary(re:replace("a(b(c)d","^([^()]|\\((?1)*\\))*$","\\1JTc",[global])), 
    ok.
run42() ->
    <<">abc>123<xyz<Po3Pcn3tBnXovXUUqId">> = iolist_to_binary(re:replace(">abc>123<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","&Po\\1Pcn\\1tBnXovXUUqId",[])), 
    <<">abc>123<xyz<Po3Pcn3tBnXovXUUqId">> = iolist_to_binary(re:replace(">abc>123<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","&Po\\1Pcn\\1tBnXovXUUqId",[global])), 
    <<"P3KXinsyIho">> = iolist_to_binary(re:replace(">abc>1(2)3<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","P\\1KXinsyIho",[])), 
    <<"P3KXinsyIho">> = iolist_to_binary(re:replace(">abc>1(2)3<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","P\\1KXinsyIho",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"fjn">> = iolist_to_binary(re:replace("1221","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","fjn",[caseless])), 
    <<"fjn">> = iolist_to_binary(re:replace("1221","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","fjn",[caseless,
                                                                                                                                                                                                                              global])), 
    <<"EWyIbgb">> = iolist_to_binary(re:replace("Satanoscillatemymetallicsonatas","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","EW\\1yIbgb",[caseless])), 
    <<"EWyIbgb">> = iolist_to_binary(re:replace("Satanoscillatemymetallicsonatas","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","EW\\1yIbgb",[caseless,
                                                                                                                                                                                                                                                                                                   global])), 
    <<"aAmanaplanacanalPanamayDfAmanaplanacanalPanamaanKSCjCr">> = iolist_to_binary(re:replace("AmanaplanacanalPanama","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","a&yDf&anKS\\1CjCr",[caseless])), 
    <<"aAmanaplanacanalPanamayDfAmanaplanacanalPanamaanKSCjCr">> = iolist_to_binary(re:replace("AmanaplanacanalPanama","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","a&yDf&anKS\\1CjCr",[caseless,
                                                                                                                                                                                                                                                                                               global])), 
    <<"hTo">> = iolist_to_binary(re:replace("AblewasIereIsawElba","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","\\1h\\1To",[caseless])), 
    <<"hTo">> = iolist_to_binary(re:replace("AblewasIereIsawElba","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","\\1h\\1To",[caseless,
                                                                                                                                                                                                                                                                          global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","SQq",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","SQq",[caseless,
                                                                                                                                                                                                                                            global])), 
    <<"Thequickbrownfox">> = iolist_to_binary(re:replace("Thequickbrownfox","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","m&\\1ypjt",[caseless])), 
    <<"Thequickbrownfox">> = iolist_to_binary(re:replace("Thequickbrownfox","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","m&\\1ypjt",[caseless,
                                                                                                                                                                                                                                                                    global])), 
    <<"vmtlvgrhXoIVUjuxCJ">> = iolist_to_binary(re:replace("12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","vmtlvgrhXoIVUjuxCJ",[])), 
    <<"vmtlvgrhXoIVUjuxCJ">> = iolist_to_binary(re:replace("12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","vmtlvgrhXoIVUjuxCJ",[global])), 
    <<"S(((2+2)*-3)-7)hoEGuxAELDlwIpN">> = iolist_to_binary(re:replace("(((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","S\\1hoEGuxAELDlwIpN",[])), 
    <<"S(((2+2)*-3)-7)hoEGuxAELDlwIpN">> = iolist_to_binary(re:replace("(((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","S\\1hoEGuxAELDlwIpN",[global])), 
    <<"fn-12K">> = iolist_to_binary(re:replace("-12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","fn&K",[])), 
    <<"fn-12K">> = iolist_to_binary(re:replace("-12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","fn&K",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","kbKqwY\\1dbLnM",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","kbKqwY\\1dbLnM",[global])), 
    <<"((2+2)*-3)-7)">> = iolist_to_binary(re:replace("((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","&aHqiP",[])), 
    <<"((2+2)*-3)-7)">> = iolist_to_binary(re:replace("((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","&aHqiP",[global])), 
    <<"qxyzCk">> = iolist_to_binary(re:replace("xyz","^(x(y|(?1){2})z)","q&Ck",[])), 
    <<"qxyzCk">> = iolist_to_binary(re:replace("xyz","^(x(y|(?1){2})z)","q&Ck",[global])), 
    <<"LxxyzxyzzSIxxyzxyzzHmXxxyzxyzzmxxyzxyzzxxyzxyzzQaGiQRxxyzxyzz">> = iolist_to_binary(re:replace("xxyzxyzz","^(x(y|(?1){2})z)","L&SI\\1HmX\\1m&&QaGiQR&",[])), 
    <<"LxxyzxyzzSIxxyzxyzzHmXxxyzxyzzmxxyzxyzzxxyzxyzzQaGiQRxxyzxyzz">> = iolist_to_binary(re:replace("xxyzxyzz","^(x(y|(?1){2})z)","L&SI\\1HmX\\1m&&QaGiQR&",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(x(y|(?1){2})z)","JDpAfO\\1cLFC",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(x(y|(?1){2})z)","JDpAfO\\1cLFC",[global])), 
    <<"xxyzz">> = iolist_to_binary(re:replace("xxyzz","^(x(y|(?1){2})z)","iy\\1e\\1b",[])), 
    <<"xxyzz">> = iolist_to_binary(re:replace("xxyzz","^(x(y|(?1){2})z)","iy\\1e\\1b",[global])), 
    <<"xxyzxyzxyzz">> = iolist_to_binary(re:replace("xxyzxyzxyzz","^(x(y|(?1){2})z)","xpghdaVtJ\\1PnXNv\\1ALV",[])), 
    <<"xxyzxyzxyzz">> = iolist_to_binary(re:replace("xxyzxyzxyzz","^(x(y|(?1){2})z)","xpghdaVtJ\\1PnXNv\\1ALV",[global])), 
    <<"p">> = iolist_to_binary(re:replace("<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","p",[extended])), 
    <<"p">> = iolist_to_binary(re:replace("<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","p",[extended,
                                                                                                                                                                                                                                          global])), 
    <<"YRKO">> = iolist_to_binary(re:replace("<abcd>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","YRKO",[extended])), 
    <<"YRKO">> = iolist_to_binary(re:replace("<abcd>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","YRKO",[extended,
                                                                                                                                                                                                                                                        global])), 
    <<"BraUcvnkvGpATS<abc <123> hij>jqC">> = iolist_to_binary(re:replace("<abc <123> hij>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","BraUcvnkvGpATS&jqC",[extended])), 
    <<"BraUcvnkvGpATS<abc <123> hij>jqC">> = iolist_to_binary(re:replace("<abc <123> hij>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","BraUcvnkvGpATS&jqC",[extended,
                                                                                                                                                                                                                                                                                                       global])), 
    <<"<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])), 
    <<"<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,
                                                                                                                                                                                                                                                                                                                  global])), 
    <<"nrGC<abc<>def>R">> = iolist_to_binary(re:replace("<abc<>def>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","nrGC&R",[extended])), 
    <<"nrGC<abc<>def>R">> = iolist_to_binary(re:replace("<abc<>def>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","nrGC&R",[extended,
                                                                                                                                                                                                                                                                     global])), 
    <<"<abcqCRcTne<>iv<>sCXFrnd">> = iolist_to_binary(re:replace("<abc<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","qCRcTne&iv&sCXFrnd",[extended])), 
    <<"<abcqCRcTne<>iv<>sCXFrnd">> = iolist_to_binary(re:replace("<abc<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","qCRcTne&iv&sCXFrnd",[extended,
                                                                                                                                                                                                                                                                                      global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","\\1b&ult&hg\\1P",[extended])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","\\1b&ult&hg\\1P",[extended,
                                                                                                                                                                                                                                                                                            global])), 
    <<"<abc">> = iolist_to_binary(re:replace("<abc","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","tRwOvxXk\\1pyskS\\1n",[extended])), 
    <<"<abc">> = iolist_to_binary(re:replace("<abc","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","tRwOvxXk\\1pyskS\\1n",[extended,
                                                                                                                                                                                                                                                                                      global])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^a+(*FAIL)","gLGD",[])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^a+(*FAIL)","gLGD",[global])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?c+(*FAIL)","e\\1SW&\\1gEu\\1WBl",[])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?c+(*FAIL)","e\\1SW&\\1gEu\\1WBl",[global])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*PRUNE)c+(*FAIL)","Cy",[])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*PRUNE)c+(*FAIL)","Cy",[global])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*COMMIT)c+(*FAIL)","lCKqNoFrmqk",[])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*COMMIT)c+(*FAIL)","lCKqNoFrmqk",[global])), 
    <<"aaabcccaaabccc">> = iolist_to_binary(re:replace("aaabcccaaabccc","a+b?(*SKIP)c+(*FAIL)","gh\\1A&NTPGyR\\1C&",[])), 
    <<"aaabcccaaabccc">> = iolist_to_binary(re:replace("aaabcccaaabccc","a+b?(*SKIP)c+(*FAIL)","gh\\1A&NTPGyR\\1C&",[global])), 
    <<"IUaaaxxxxxxP">> = iolist_to_binary(re:replace("aaaxxxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","IU&P",[])), 
    <<"IUaaaxxxxxxP">> = iolist_to_binary(re:replace("aaaxxxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","IU&P",[global])), 
    <<"hdKDpy++++++">> = iolist_to_binary(re:replace("aaa++++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","hdKDpy",[])), 
    <<"hdKDpy++++++">> = iolist_to_binary(re:replace("aaa++++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","hdKDpy",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"jM+++++">> = iolist_to_binary(re:replace("bbb+++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","jM",[])), 
    <<"jM+++++">> = iolist_to_binary(re:replace("bbb+++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","jM",[global])), 
    <<"xqHG">> = iolist_to_binary(re:replace("cccxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","xqHG",[])), 
    <<"xqHG">> = iolist_to_binary(re:replace("cccxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","xqHG",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"aaaxxxxxxaaaxxxxxxaaaxxxxxxXAFhdfF">> = iolist_to_binary(re:replace("aaaxxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","&\\1&XAFhdfF",[])), 
    <<"aaaxxxxxxaaaxxxxxxaaaxxxxxxXAFhdfF">> = iolist_to_binary(re:replace("aaaxxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","&\\1&XAFhdfF",[global])), 
    <<"BADWi++++++">> = iolist_to_binary(re:replace("aaa++++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","BADWi",[])), 
    <<"BADWi++++++">> = iolist_to_binary(re:replace("aaa++++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","BADWi",[global])), 
    <<"iGhbbbxxxxxY">> = iolist_to_binary(re:replace("bbbxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","iGh&Y",[])), 
    <<"iGhbbbxxxxxY">> = iolist_to_binary(re:replace("bbbxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","iGh&Y",[global])), 
    <<"o+++++">> = iolist_to_binary(re:replace("bbb+++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","o",[])), 
    <<"o+++++">> = iolist_to_binary(re:replace("bbb+++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","o",[global])), 
    <<"cccxxxxYEHecccxxxxcccxxxxIOtAN">> = iolist_to_binary(re:replace("cccxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","\\1YEHe\\1\\1IOtAN",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"aJddddd">> = iolist_to_binary(re:replace("dddddddd","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","aJ",[])), 
    <<"aJddddd">> = iolist_to_binary(re:replace("dddddddd","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","aJ",[global])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*THEN)c+(*FAIL)","O&n",[])), 
    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*THEN)c+(*FAIL)","O&n",[global])), 
    <<"TxOFuVua">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","TxOFuVua",[extended])), 
    <<"TxOFuVua">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","TxOFuVua",[extended,
                                                                                                                                                                                                               global])), 
    <<"SUX">> = iolist_to_binary(re:replace("ABX","(A (A|B(*ACCEPT)|C) D)(E)","SU",[extended])), 
    <<"SUX">> = iolist_to_binary(re:replace("ABX","(A (A|B(*ACCEPT)|C) D)(E)","SU",[extended,
                                                                                                                                                                                                     global])), 
    <<"AADAADAADELrNAADnAADEnGvAADEaNIaWn">> = iolist_to_binary(re:replace("AADE","(A (A|B(*ACCEPT)|C) D)(E)","\\1\\1&LrN\\1n&nGv&aNIaWn",[extended])), 
    <<"AADAADAADELrNAADnAADEnGvAADEaNIaWn">> = iolist_to_binary(re:replace("AADE","(A (A|B(*ACCEPT)|C) D)(E)","\\1\\1&LrN\\1n&nGv&aNIaWn",[extended,
                                                                                                                                                                                                                                                           global])), 
    <<"ACDYODJodgCmmfKwfACD">> = iolist_to_binary(re:replace("ACDE","(A (A|B(*ACCEPT)|C) D)(E)","\\1YODJodgCmmfKwf\\1",[extended])), 
    <<"ACDYODJodgCmmfKwfACD">> = iolist_to_binary(re:replace("ACDE","(A (A|B(*ACCEPT)|C) D)(E)","\\1YODJodgCmmfKwf\\1",[extended,
                                                                                                                                                                                                                                             global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(A (A|B(*ACCEPT)|C) D)(E)","N\\1FtqpFbrL\\1Uwr&u",[extended])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(A (A|B(*ACCEPT)|C) D)(E)","N\\1FtqpFbrL\\1Uwr&u",[extended,
                                                                                                                                                                                                                                                          global])), 
    <<"AD">> = iolist_to_binary(re:replace("AD","(A (A|B(*ACCEPT)|C) D)(E)","\\1A\\1QPFrGi",[extended])), 
    <<"AD">> = iolist_to_binary(re:replace("AD","(A (A|B(*ACCEPT)|C) D)(E)","\\1A\\1QPFrGi",[extended,
                                                                                                                                                                                                                           global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                                                                                                              global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                                                                                                                                                             global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                                                                                                                                                                  global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                                                                                                                                          global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","QItD\\1t&XKbLqmp",[caseless])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","QItD\\1t&XKbLqmp",[caseless,
                                                                                                                                                                                                                                                                                                                                                                global])), 
    <<"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])), 
    <<"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,
                                                                                                                                                                                                                                                                                                                                                         global])), 
    <<"MUxDTa">> = iolist_to_binary(re:replace("a","^((.)(?1)\\2|.)$","MUxDT&",[])), 
    <<"MUxDTa">> = iolist_to_binary(re:replace("a","^((.)(?1)\\2|.)$","MUxDT&",[global])), 
    <<"sdabaq">> = iolist_to_binary(re:replace("aba","^((.)(?1)\\2|.)$","sd\\1q",[])), 
    <<"sdabaq">> = iolist_to_binary(re:replace("aba","^((.)(?1)\\2|.)$","sd\\1q",[global])), 
    <<"FQLjaabaaHLRNaabaaaabaat">> = iolist_to_binary(re:replace("aabaa","^((.)(?1)\\2|.)$","FQLj&HLRN\\1\\1t",[])), 
    <<"FQLjaabaaHLRNaabaaaabaat">> = iolist_to_binary(re:replace("aabaa","^((.)(?1)\\2|.)$","FQLj&HLRN\\1\\1t",[global])), 
    <<"dAayeabcdcbaBfabcdcbaUNI">> = iolist_to_binary(re:replace("abcdcba","^((.)(?1)\\2|.)$","dAaye\\1Bf&UNI",[])), 
    <<"dAayeabcdcbaBfabcdcbaUNI">> = iolist_to_binary(re:replace("abcdcba","^((.)(?1)\\2|.)$","dAaye\\1Bf&UNI",[global])), 
    <<"OpqaabaaqpQpqaabaaqpfkfGJxwpqaabaaqpxkmrGMpqaabaaqp">> = iolist_to_binary(re:replace("pqaabaaqp","^((.)(?1)\\2|.)$","O&Q\\1fkfGJxw&xkmrGM&",[])), 
    <<"OpqaabaaqpQpqaabaaqpfkfGJxwpqaabaaqpxkmrGMpqaabaaqp">> = iolist_to_binary(re:replace("pqaabaaqp","^((.)(?1)\\2|.)$","O&Q\\1fkfGJxw&xkmrGM&",[global])), 
    <<"bdVxablewasiereisawelbaYcoMDjqablewasiereisawelbafdablewasiereisawelbatinE">> = iolist_to_binary(re:replace("ablewasiereisawelba","^((.)(?1)\\2|.)$","bdVx&YcoMDjq&fd\\1tinE",[])), 
    <<"bdVxablewasiereisawelbaYcoMDjqablewasiereisawelbafdablewasiereisawelbatinE">> = iolist_to_binary(re:replace("ablewasiereisawelba","^((.)(?1)\\2|.)$","bdVx&YcoMDjq&fd\\1tinE",[global])), 
    <<"rhubarb">> = iolist_to_binary(re:replace("rhubarb","^((.)(?1)\\2|.)$","XD\\1&vY\\1SvD&NK&AfJ",[])), 
    <<"rhubarb">> = iolist_to_binary(re:replace("rhubarb","^((.)(?1)\\2|.)$","XD\\1&vY\\1SvD&NK&AfJ",[global])), 
    <<"the quick brown fox">> = iolist_to_binary(re:replace("the quick brown fox","^((.)(?1)\\2|.)$","MnEjDLxqRfD\\1dksvBNU",[])), 
    <<"the quick brown fox">> = iolist_to_binary(re:replace("the quick brown fox","^((.)(?1)\\2|.)$","MnEjDLxqRfD\\1dksvBNU",[global])), 
    <<"bSanz">> = iolist_to_binary(re:replace("baz","(a)(?<=b(?1))","S\\1n",[])), 
    <<"bSanz">> = iolist_to_binary(re:replace("baz","(a)(?<=b(?1))","S\\1n",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)(?<=b(?1))","I\\1&BaUakXjhOFhQy\\1kv",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)(?<=b(?1))","I\\1&BaUakXjhOFhQy\\1kv",[global])), 
    <<"caz">> = iolist_to_binary(re:replace("caz","(a)(?<=b(?1))","&x&&&cABhoecjW&D",[])), 
    <<"caz">> = iolist_to_binary(re:replace("caz","(a)(?<=b(?1))","&x&&&cABhoecjW&D",[global])), 
    <<"zbamBPamYeGJasagajz">> = iolist_to_binary(re:replace("zbaaz","(?<=b(?1))(a)","mBP\\1mYeGJ\\1s&g&j",[])), 
    <<"zbamBPamYeGJasagajz">> = iolist_to_binary(re:replace("zbaaz","(?<=b(?1))(a)","mBP\\1mYeGJ\\1s&g&j",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=b(?1))(a)","&y&R&ANqnrUXsC",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=b(?1))(a)","&y&R&ANqnrUXsC",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","(?<=b(?1))(a)","F&&lb\\1OEkErh\\1&s\\1T",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","(?<=b(?1))(a)","F&&lb\\1OEkErh\\1&s\\1T",[global])), 
    <<"basaBtugJSalfoIoaaz">> = iolist_to_binary(re:replace("baz","(?<X>a)(?<=b(?&X))","\\1s&BtugJS\\1lfoIo\\1a",[])), 
    <<"basaBtugJSalfoIoaaz">> = iolist_to_binary(re:replace("baz","(?<X>a)(?<=b(?&X))","\\1s&BtugJS\\1lfoIo\\1a",[global])), 
    <<"abcabcdfYwAHcFyJUBIKabcabcabcabcabcabc">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))\\1","&dfYwAHcFyJUBIK&&&",[])), 
    <<"abcabcdfYwAHcFyJUBIKabcabcabcabcabcabc">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))\\1","&dfYwAHcFyJUBIK&&&",[global])), 
    <<"defdefewRuSdefdefb">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))\\1","&ewRuS&b",[])), 
    <<"defdefewRuSdefdefb">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))\\1","&ewRuS&b",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))\\1","iOiPewDMrMw&Iy",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))\\1","iOiPewDMrMw&Iy",[global])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))\\1","rkSqOQ",[])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))\\1","rkSqOQ",[global])), 
    <<"defabc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))\\1","V",[])), 
    <<"defabc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))\\1","V",[global])), 
    ok.
run43() ->
    <<"LfjQyR">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))(?1)","LfjQyR",[])), 
    <<"LfjQyR">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))(?1)","LfjQyR",[global])), 
    <<"tWpTOWdefabcdefkdefabcYBc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))(?1)","tWpTOW&\\1k&YBc",[])), 
    <<"tWpTOWdefabcdefkdefabcYBc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))(?1)","tWpTOW&\\1k&YBc",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))(?1)","&XvMpW",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))(?1)","&XvMpW",[global])), 
    <<"defdef">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))(?1)","JS\\1AJl&S",[])), 
    <<"defdef">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))(?1)","JS\\1AJl&S",[global])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))(?1)","s&",[])), 
    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))(?1)","s&",[global])), 
    <<"ACIMaBCCCrtBCLBSuRcqDCrD">> = iolist_to_binary(re:replace("ABCD","(?:(?1)|B)(A(*F)|C)","\\1IMa&\\1\\1rt&LBSuRcqDCr",[])), 
    <<"ACIMaBCCCrtBCLBSuRcqDCrD">> = iolist_to_binary(re:replace("ABCD","(?:(?1)|B)(A(*F)|C)","\\1IMa&\\1\\1rt&LBSuRcqDCr",[global])), 
    <<"oCCiCCCkCfarCUTFD">> = iolist_to_binary(re:replace("CCD","(?:(?1)|B)(A(*F)|C)","o&i&\\1k\\1far\\1UTF",[])), 
    <<"oCCiCCCkCfarCUTFD">> = iolist_to_binary(re:replace("CCD","(?:(?1)|B)(A(*F)|C)","o&i&\\1k\\1far\\1UTF",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*F)|C)","fR\\1POKy&h\\1tsX",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*F)|C)","fR\\1POKy&h\\1tsX",[global])), 
    <<"CAD">> = iolist_to_binary(re:replace("CAD","(?:(?1)|B)(A(*F)|C)","&hH\\1XGD\\1tfghlx\\1",[])), 
    <<"CAD">> = iolist_to_binary(re:replace("CAD","(?:(?1)|B)(A(*F)|C)","&hH\\1XGD\\1tfghlx\\1",[global])), 
    <<"CCePUJnkSD">> = iolist_to_binary(re:replace("CCD","^(?:(?1)|B)(A(*F)|C)","&ePUJnkS",[])), 
    <<"CCePUJnkSD">> = iolist_to_binary(re:replace("CCD","^(?:(?1)|B)(A(*F)|C)","&ePUJnkS",[global])), 
    <<"HDSBCbcCRNYiEPlVoYXD">> = iolist_to_binary(re:replace("BCD","^(?:(?1)|B)(A(*F)|C)","HDS&bc\\1RNYiEPlVoYX",[])), 
    <<"HDSBCbcCRNYiEPlVoYXD">> = iolist_to_binary(re:replace("BCD","^(?:(?1)|B)(A(*F)|C)","HDS&bc\\1RNYiEPlVoYX",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:(?1)|B)(A(*F)|C)","S",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:(?1)|B)(A(*F)|C)","S",[global])), 
    <<"ABCD">> = iolist_to_binary(re:replace("ABCD","^(?:(?1)|B)(A(*F)|C)","jMfVoww\\1ses&oWOL&yd",[])), 
    <<"ABCD">> = iolist_to_binary(re:replace("ABCD","^(?:(?1)|B)(A(*F)|C)","jMfVoww\\1ses&oWOL&yd",[global])), 
    <<"CAD">> = iolist_to_binary(re:replace("CAD","^(?:(?1)|B)(A(*F)|C)","QqHTIgCo\\1&\\1\\1iIlqX&O",[])), 
    <<"CAD">> = iolist_to_binary(re:replace("CAD","^(?:(?1)|B)(A(*F)|C)","QqHTIgCo\\1&\\1\\1iIlqX&O",[global])), 
    <<"BAD">> = iolist_to_binary(re:replace("BAD","^(?:(?1)|B)(A(*F)|C)","fBLv",[])), 
    <<"BAD">> = iolist_to_binary(re:replace("BAD","^(?:(?1)|B)(A(*F)|C)","fBLv",[global])), 
    <<"lyLDABYgvAD">> = iolist_to_binary(re:replace("AAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","lyLD\\1BYgv\\1",[])), 
    <<"lyLDABYgvAD">> = iolist_to_binary(re:replace("AAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","lyLD\\1BYgv\\1",[global])), 
    <<"RyACDCXACDqsCvwyCACDkyHc">> = iolist_to_binary(re:replace("ACD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","Ry&\\1X&qs\\1vwy\\1&kyHc",[])), 
    <<"RyACDCXACDqsCvwyCACDkyHc">> = iolist_to_binary(re:replace("ACD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","Ry&\\1X&qs\\1vwy\\1&kyHc",[global])), 
    <<"AuXMduD">> = iolist_to_binary(re:replace("BAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","\\1uXMdu",[])), 
    <<"AuXMduD">> = iolist_to_binary(re:replace("BAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","\\1uXMdu",[global])), 
    <<"oTbEDv">> = iolist_to_binary(re:replace("BCD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","oTbEDv",[])), 
    <<"oTbEDv">> = iolist_to_binary(re:replace("BCD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","oTbEDv",[global])), 
    <<"RBAelTeYBABAAX">> = iolist_to_binary(re:replace("BAX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","R&elTeY&&\\1",[])), 
    <<"RBAelTeYBABAAX">> = iolist_to_binary(re:replace("BAX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","R&elTeY&&\\1",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*ACCEPT)XX|C)D","&&X\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*ACCEPT)XX|C)D","&&X\\1",[global])), 
    <<"ACX">> = iolist_to_binary(re:replace("ACX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","\\1YnMw&&&\\1Nxi&Wfb",[])), 
    <<"ACX">> = iolist_to_binary(re:replace("ACX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","\\1YnMw&&&\\1Nxi&Wfb",[global])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","(?:(?1)|B)(A(*ACCEPT)XX|C)D","eX\\1YNXkcuaal",[])), 
    <<"ABC">> = iolist_to_binary(re:replace("ABC","(?:(?1)|B)(A(*ACCEPT)XX|C)D","eX\\1YNXkcuaal",[global])), 
    <<"cpDBACdDivSoeWp">> = iolist_to_binary(re:replace("BAC","(?(DEFINE)(A))B(?1)C","cpD&dD\\1i\\1vSoeWp",[])), 
    <<"cpDBACdDivSoeWp">> = iolist_to_binary(re:replace("BAC","(?(DEFINE)(A))B(?1)C","cpD&dD\\1i\\1vSoeWp",[global])), 
    <<"HTBAAC">> = iolist_to_binary(re:replace("BAAC","(?(DEFINE)((A)\\2))B(?1)C","H\\1T&",[])), 
    <<"HTBAAC">> = iolist_to_binary(re:replace("BAAC","(?(DEFINE)((A)\\2))B(?1)C","H\\1T&",[global])), 
    <<"U(ab(cd)ef)Wy">> = iolist_to_binary(re:replace("(ab(cd)ef)","(?<pn> \\( ( [^()]++ | (?&pn) )* \\) )","U\\1Wy",[extended])), 
    <<"U(ab(cd)ef)Wy">> = iolist_to_binary(re:replace("(ab(cd)ef)","(?<pn> \\( ( [^()]++ | (?&pn) )* \\) )","U\\1Wy",[extended,
                                                                                                                                                                                                                                                        global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*SKIP)b|ac)","rGTH&RVHejd&k",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*SKIP)b|ac)","rGTH&RVHejd&k",[global])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*SKIP)b|ac)","\\1&GCt&D&Lja",[])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*SKIP)b|ac)","\\1&GCt&D&Lja",[global])), 
    <<"fQfwLkab">> = iolist_to_binary(re:replace("ab","^(?=a(*PRUNE)b)","f\\1QfwLk",[])), 
    <<"fQfwLkab">> = iolist_to_binary(re:replace("ab","^(?=a(*PRUNE)b)","f\\1QfwLk",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*PRUNE)b)","\\1yjrFT&QU\\1QP\\1&u",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*PRUNE)b)","\\1yjrFT&QU\\1QP\\1&u",[global])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*PRUNE)b)","&gpi\\1",[])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*PRUNE)b)","&gpi\\1",[global])), 
    <<"kQac">> = iolist_to_binary(re:replace("ac","^(?=a(*ACCEPT)b)","kQ",[])), 
    <<"kQac">> = iolist_to_binary(re:replace("ac","^(?=a(*ACCEPT)b)","kQ",[global])), 
    <<"ajbIblt">> = iolist_to_binary(re:replace("ab","(?>a\\Kb)","j&I&lt",[])), 
    <<"ajbIblt">> = iolist_to_binary(re:replace("ab","(?>a\\Kb)","j&I&lt",[global])), 
    <<"ajOfKabMbvu">> = iolist_to_binary(re:replace("ab","((?>a\\Kb))","jOfK\\1M&vu",[])), 
    <<"ajOfKabMbvu">> = iolist_to_binary(re:replace("ab","((?>a\\Kb))","jOfK\\1M&vu",[global])), 
    <<"aWbQSVababHodUgHSHnt">> = iolist_to_binary(re:replace("ab","(a\\Kb)","W&QSV\\1\\1HodUgHSHnt",[])), 
    <<"aWbQSVababHodUgHSHnt">> = iolist_to_binary(re:replace("ab","(a\\Kb)","W&QSV\\1\\1HodUgHSHnt",[global])), 
    <<"oyDWsqkcnuracWk">> = iolist_to_binary(re:replace("ac","^a\\Kcz|ac","oyDWsqkc\\1nur&\\1Wk",[])), 
    <<"oyDWsqkcnuracWk">> = iolist_to_binary(re:replace("ac","^a\\Kcz|ac","oyDWsqkc\\1nur&\\1Wk",[global])), 
    <<"drmFabyB">> = iolist_to_binary(re:replace("ab","(?>a\\Kbz|ab)","dr\\1mF&yB",[])), 
    <<"drmFabyB">> = iolist_to_binary(re:replace("ab","(?>a\\Kbz|ab)","dr\\1mF&yB",[global])), 
    <<"ajbVLbJkkPEEGEA">> = iolist_to_binary(re:replace("ab","^(?&t)(?(DEFINE)(?<t>a\\Kb))$","j\\1&VL&Jk\\1kPEE\\1G\\1E\\1A",[])), 
    <<"ajbVLbJkkPEEGEA">> = iolist_to_binary(re:replace("ab","^(?&t)(?(DEFINE)(?<t>a\\Kb))$","j\\1&VL&Jk\\1kPEE\\1G\\1E\\1A",[global])), 
    <<"Ua(b)c">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","U&",[])), 
    <<"Ua(b)c">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","U&",[global])), 
    <<"a(b(c)d)eU">> = iolist_to_binary(re:replace("a(b(c)d)e","^([^()]|\\((?1)*\\))*$","&U",[])), 
    <<"a(b(c)d)eU">> = iolist_to_binary(re:replace("a(b(c)d)e","^([^()]|\\((?1)*\\))*$","&U",[global])), 
    <<"Wc00ens">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","Wc&\\1ens",[])), 
    <<"Wc00ens">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","Wc&\\1ens",[global])), 
    <<"ot">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","ot",[])), 
    <<"ot">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","ot",[global])), 
    <<"TKKhmnqB0000j0000hwMe000000000000">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","TKKhmnqB&j\\1hwMe&&&",[])), 
    <<"TKKhmnqB0000j0000hwMe000000000000">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","TKKhmnqB&j\\1hwMe&&&",[global])), 
    <<"A0FKEFFLo0gFNc0ISDNV">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","A&FKEFFLo&gFNc&ISDNV",[])), 
    <<"A0FKEFFLo0gFNc0ISDNV">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","A&FKEFFLo&gFNc&ISDNV",[global])), 
    <<"gbEHUma0JEum0t0TGBi0">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","gbEHUma\\1JEum\\1t\\1TGBi",[])), 
    <<"gbEHUma0JEum0t0TGBigbEHUma0JEum0t0TGBi">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","gbEHUma\\1JEum\\1t\\1TGBi",[global])), 
    <<"Mfh0OrMhJ0C00sj0000">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","Mfh&OrMhJ&C&\\1sj&",[])), 
    <<"Mfh0OrMhJ0C00sj0Mfh0OrMhJ0C00sj0Mfh0OrMhJ0C00sj0Mfh0OrMhJ0C00sj0">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","Mfh&OrMhJ&C&\\1sj&",[global])), 
    ok.
run44() ->
    <<"ACABX">> = iolist_to_binary(re:replace("ACABX","A(*COMMIT)(B|D)","RuGESUvQDVqs",[])), 
    <<"ACABX">> = iolist_to_binary(re:replace("ACABX","A(*COMMIT)(B|D)","RuGESUvQDVqs",[global])), 
    <<"AABCQYABCchASpSgMsjmJDEFG">> = iolist_to_binary(re:replace("ABCDEFG","(*COMMIT)(A|P)(B|P)(C|P)","\\1&QY&ch\\1SpSgMsjmJ",[])), 
    <<"AABCQYABCchASpSgMsjmJDEFG">> = iolist_to_binary(re:replace("ABCDEFG","(*COMMIT)(A|P)(B|P)(C|P)","\\1&QY&ch\\1SpSgMsjmJ",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(*COMMIT)(A|P)(B|P)(C|P)","OnYL&y&\\1\\1YaeL&Rp&Bh",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(*COMMIT)(A|P)(B|P)(C|P)","OnYL&y&\\1\\1YaeL&Rp&Bh",[global])), 
    <<"DEFGABC">> = iolist_to_binary(re:replace("DEFGABC","(*COMMIT)(A|P)(B|P)(C|P)","oeob&",[])), 
    <<"DEFGABC">> = iolist_to_binary(re:replace("DEFGABC","(*COMMIT)(A|P)(B|P)(C|P)","oeob&",[global])), 
    <<"axGkabbbGcWn">> = iolist_to_binary(re:replace("abbb","(\\w+)(?>b(*COMMIT))\\w{2}","axGk&GcWn",[])), 
    <<"axGkabbbGcWn">> = iolist_to_binary(re:replace("abbb","(\\w+)(?>b(*COMMIT))\\w{2}","axGk&GcWn",[global])), 
    <<"abbb">> = iolist_to_binary(re:replace("abbb","(\\w+)b(*COMMIT)\\w{2}","lC\\1",[])), 
    <<"abbb">> = iolist_to_binary(re:replace("abbb","(\\w+)b(*COMMIT)\\w{2}","lC\\1",[global])), 
    <<"bRbYbpaRdHcFNHavc">> = iolist_to_binary(re:replace("bac","(?&t)(?#()(?(DEFINE)(?<t>a))","\\1RbYbp\\1&\\1R\\1dHcFNH&v\\1",[])), 
    <<"bRbYbpaRdHcFNHavc">> = iolist_to_binary(re:replace("bac","(?&t)(?#()(?(DEFINE)(?<t>a))","\\1RbYbp\\1&\\1R\\1dHcFNH&v\\1",[global])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(?>yes|no)(*THEN)(*F))?","C\\1&LrSNg",[])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(?>yes|no)(*THEN)(*F))?","C\\1&LrSNg",[global])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(yes|no)(*THEN)(*F))?","nLsXq",[])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(yes|no)(*THEN)(*F))?","nLsXq",[global])), 
    <<"ifJxMRlgahWwjbcUG">> = iolist_to_binary(re:replace("bc","b?(*SKIP)c","ifJxMRlgah\\1Wwj&U\\1G",[])), 
    <<"ifJxMRlgahWwjbcUG">> = iolist_to_binary(re:replace("bc","b?(*SKIP)c","ifJxMRlgah\\1Wwj&U\\1G",[global])), 
    <<"aFcoMMtM">> = iolist_to_binary(re:replace("abc","b?(*SKIP)c","FcoMMtM",[])), 
    <<"aFcoMMtM">> = iolist_to_binary(re:replace("abc","b?(*SKIP)c","FcoMMtM",[global])), 
    ok.
run45() ->
    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)bc","K&KkIb\\1J\\1ADN\\1y",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)bc","K&KkIb\\1J\\1ADN\\1y",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)b","ug",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)b","ug",[global])), 
    <<"IByJwJUuLMjxxx">> = iolist_to_binary(re:replace("xxx","(?P<abn>(?P=abn)xxx|)+","IByJwJUuLMj",[])), 
    <<"IByJwJUuLMjxIByJwJUuLMjxIByJwJUuLMjxIByJwJUuLMj">> = iolist_to_binary(re:replace("xxx","(?P<abn>(?P=abn)xxx|)+","IByJwJUuLMj",[global])), 
    <<"VPSaaaabCaadQCaaLaaBy">> = iolist_to_binary(re:replace("aa","(?i:([^b]))(?1)","VPS\\1&\\1bC&dQC&L&By",[])), 
    <<"VPSaaaabCaadQCaaLaaBy">> = iolist_to_binary(re:replace("aa","(?i:([^b]))(?1)","VPS\\1&\\1bC&dQC&L&By",[global])), 
    <<"yafgfEXSPbNaAHn">> = iolist_to_binary(re:replace("aA","(?i:([^b]))(?1)","y\\1fgfEXSPbN&Hn",[])), 
    <<"yafgfEXSPbNaAHn">> = iolist_to_binary(re:replace("aA","(?i:([^b]))(?1)","y\\1fgfEXSPbN&Hn",[global])), 
    <<"jtvi*CH**b Failers">> = iolist_to_binary(re:replace("** Failers","(?i:([^b]))(?1)","jtvi\\1CH&b",[])), 
    <<"jtvi*CH**bjtvi CH FbjtviaCHaibjtvilCHlebjtvirCHrsb">> = iolist_to_binary(re:replace("** Failers","(?i:([^b]))(?1)","jtvi\\1CH&b",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(?i:([^b]))(?1)","ufawxH&",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(?i:([^b]))(?1)","ufawxH&",[global])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:([^b]))(?1)","kJi\\1Q",[])), 
    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:([^b]))(?1)","kJi\\1Q",[global])), 
    <<"Ba">> = iolist_to_binary(re:replace("Ba","(?i:([^b]))(?1)","JMtj&Suu\\1jXYqQqQYj",[])), 
    <<"Ba">> = iolist_to_binary(re:replace("Ba","(?i:([^b]))(?1)","JMtj&Suu\\1jXYqQqQYj",[global])), 
    <<"ba">> = iolist_to_binary(re:replace("ba","(?i:([^b]))(?1)","T\\1Qayl\\1T",[])), 
    <<"ba">> = iolist_to_binary(re:replace("ba","(?i:([^b]))(?1)","T\\1Qayl\\1T",[global])), 
    <<"lxmLDk">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","lxmLDk",[])), 
    <<"lxmLDk">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","lxmLDk",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","aFfF",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","aFfF",[global])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","QEtPA&\\1OwM",[])), 
    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","QEtPA&\\1OwM",[global])), 
    <<"SmAoeEyBaaaaaaXbwguE">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*(?(DEFINE)(?<t>a))\\w$","SmAoeEyB&bwguE",[])), 
    <<"SmAoeEyBaaaaaaXbwguE">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*(?(DEFINE)(?<t>a))\\w$","SmAoeEyB&bwguE",[global])), 
    <<"Uaaaaaaxaaaaaaafp">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*(?(DEFINE)(?<t>a))\\w$","U&x&afp",[])), 
    <<"Uaaaaaaxaaaaaaafp">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*(?(DEFINE)(?<t>a))\\w$","U&x&afp",[global])), 
    <<"HaaaaXaaaaXadaaaaXaaaaXareQQQkMYOa">> = iolist_to_binary(re:replace("aaaaX","^(a)*+(\\w)","H&&\\1d&&\\1reQQQkMYO\\1",[])), 
    <<"HaaaaXaaaaXadaaaaXaaaaXareQQQkMYOa">> = iolist_to_binary(re:replace("aaaaX","^(a)*+(\\w)","H&&\\1d&&\\1reQQQkMYO\\1",[global])), 
    <<"bRpsdEYGFIGPlQJJvLZ">> = iolist_to_binary(re:replace("YZ","^(a)*+(\\w)","bRpsdE&GFIG\\1PlQJ\\1JvL",[])), 
    <<"bRpsdEYGFIGPlQJJvLZ">> = iolist_to_binary(re:replace("YZ","^(a)*+(\\w)","bRpsdE&GFIG\\1PlQJ\\1JvL",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)*+(\\w)","TEN&fs\\1AcOopKHNR&j",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)*+(\\w)","TEN&fs\\1AcOopKHNR&j",[global])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)*+(\\w)","mRufNYP&WdWMD",[])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)*+(\\w)","mRufNYP&WdWMD",[global])), 
    <<"TFRaaaaXfHXTvXEuMCNthKV">> = iolist_to_binary(re:replace("aaaaX","^(?:a)*+(\\w)","TFR&fH\\1Tv\\1EuMCNthKV",[])), 
    <<"TFRaaaaXfHXTvXEuMCNthKV">> = iolist_to_binary(re:replace("aaaaX","^(?:a)*+(\\w)","TFR&fH\\1Tv\\1EuMCNthKV",[global])), 
    <<"tkYFkuQZ">> = iolist_to_binary(re:replace("YZ","^(?:a)*+(\\w)","tk\\1FkuQ",[])), 
    <<"tkYFkuQZ">> = iolist_to_binary(re:replace("YZ","^(?:a)*+(\\w)","tk\\1FkuQ",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)*+(\\w)","kd\\1PEKSAAL&xu",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)*+(\\w)","kd\\1PEKSAAL&xu",[global])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)*+(\\w)","Lf",[])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)*+(\\w)","Lf",[global])), 
    <<"oaFjagULdV">> = iolist_to_binary(re:replace("aaaaX","^(a)++(\\w)","o\\1Fj\\1gULdV",[])), 
    <<"oaFjagULdV">> = iolist_to_binary(re:replace("aaaaX","^(a)++(\\w)","o\\1Fj\\1gULdV",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)++(\\w)","vpc",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)++(\\w)","vpc",[global])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)++(\\w)","Bl",[])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)++(\\w)","Bl",[global])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a)++(\\w)","pW\\1&FBWdWw&np",[])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a)++(\\w)","pW\\1&FBWdWw&np",[global])), 
    <<"XGTXnaaaaXXYlwcXc">> = iolist_to_binary(re:replace("aaaaX","^(?:a)++(\\w)","\\1GT\\1n&\\1Ylwc\\1c",[])), 
    <<"XGTXnaaaaXXYlwcXc">> = iolist_to_binary(re:replace("aaaaX","^(?:a)++(\\w)","\\1GT\\1n&\\1Ylwc\\1c",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)++(\\w)","knydJYg\\1",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)++(\\w)","knydJYg\\1",[global])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)++(\\w)","BY",[])), 
    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)++(\\w)","BY",[global])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a)++(\\w)","&WnuGAP&RVIb\\1&g&",[])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a)++(\\w)","&WnuGAP&RVIb\\1&g&",[global])), 
    <<"abOaagwaaX">> = iolist_to_binary(re:replace("aaaaX","^(a)?+(\\w)","\\1bO&gw",[])), 
    <<"abOaagwaaX">> = iolist_to_binary(re:replace("aaaaX","^(a)?+(\\w)","\\1bO&gw",[global])), 
    <<"vfWlFqvTQcSsMBueZ">> = iolist_to_binary(re:replace("YZ","^(a)?+(\\w)","vfWlFqvTQcSsMBue",[])), 
    <<"vfWlFqvTQcSsMBueZ">> = iolist_to_binary(re:replace("YZ","^(a)?+(\\w)","vfWlFqvTQcSsMBue",[global])), 
    <<"gcDaaX">> = iolist_to_binary(re:replace("aaaaX","^(?:a)?+(\\w)","gcD",[])), 
    <<"gcDaaX">> = iolist_to_binary(re:replace("aaaaX","^(?:a)?+(\\w)","gcD",[global])), 
    <<"AXYrLumLDPdeYhsZ">> = iolist_to_binary(re:replace("YZ","^(?:a)?+(\\w)","AX\\1rLumLDPde&hs",[])), 
    <<"AXYrLumLDPdeYhsZ">> = iolist_to_binary(re:replace("YZ","^(?:a)?+(\\w)","AX\\1rLumLDPde&hs",[global])), 
    <<"GbIoTYfSk">> = iolist_to_binary(re:replace("aaaaX","^(a){2,}+(\\w)","GbIoTYfSk",[])), 
    <<"GbIoTYfSk">> = iolist_to_binary(re:replace("aaaaX","^(a){2,}+(\\w)","GbIoTYfSk",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a){2,}+(\\w)","XIW&php\\1D&&uKhDB\\1fhy",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a){2,}+(\\w)","XIW&php\\1D&&uKhDB\\1fhy",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a){2,}+(\\w)","eqY\\1Dr\\1luTHwQ",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a){2,}+(\\w)","eqY\\1Dr\\1luTHwQ",[global])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a){2,}+(\\w)","DCSsYSA",[])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a){2,}+(\\w)","DCSsYSA",[global])), 
    <<"sXOEXqrXNLjeIpAFEqS">> = iolist_to_binary(re:replace("aaaaX","^(?:a){2,}+(\\w)","sXOEXqr\\1NLjeIpAFEqS",[])), 
    <<"sXOEXqrXNLjeIpAFEqS">> = iolist_to_binary(re:replace("aaaaX","^(?:a){2,}+(\\w)","sXOEXqr\\1NLjeIpAFEqS",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a){2,}+(\\w)","RhG&SVJRvrSbFfks",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a){2,}+(\\w)","RhG&SVJRvrSbFfks",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(?:a){2,}+(\\w)","VMSsQq&x",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(?:a){2,}+(\\w)","VMSsQq&x",[global])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a){2,}+(\\w)","I&ofEGK\\1gk&y",[])), 
    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a){2,}+(\\w)","I&ofEGK\\1gk&y",[global])), 
    <<"bRSn">> = iolist_to_binary(re:replace("b","(a|)*(?1)b","\\1&RSn",[])), 
    <<"bRSn">> = iolist_to_binary(re:replace("b","(a|)*(?1)b","\\1&RSn",[global])), 
    <<"kOQDBCniDmabX">> = iolist_to_binary(re:replace("ab","(a|)*(?1)b","k\\1OQD\\1BCniDm&X",[])), 
    <<"kOQDBCniDmabX">> = iolist_to_binary(re:replace("ab","(a|)*(?1)b","k\\1OQD\\1BCniDm&X",[global])), 
    <<"DxcDd">> = iolist_to_binary(re:replace("aab","(a|)*(?1)b","DxcDd",[])), 
    <<"DxcDd">> = iolist_to_binary(re:replace("aab","(a|)*(?1)b","DxcDd",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)++(?1)b","VTtm\\1&qWBwH&TFG",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)++(?1)b","VTtm\\1&qWBwH&TFG",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(a)++(?1)b","cVqmxH",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(a)++(?1)b","cVqmxH",[global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(a)++(?1)b","VPevb\\1Il",[])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(a)++(?1)b","VPevb\\1Il",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)*+(?1)b","\\1KCKqqqW&OhQmC&c",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)*+(?1)b","\\1KCKqqqW&OhQmC&c",[global])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(a)*+(?1)b","\\1\\1AofrA\\1",[])), 
    <<"ab">> = iolist_to_binary(re:replace("ab","(a)*+(?1)b","\\1\\1AofrA\\1",[global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(a)*+(?1)b","YU&W&&&br&b&&T\\1&",[])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(a)*+(?1)b","YU&W&&&br&b&&T\\1&",[global])), 
    <<"ylblrGgeOFdq">> = iolist_to_binary(re:replace("b","(?1)(?:(b)){0}","yl&lrGgeOFdq",[])), 
    <<"ylblrGgeOFdq">> = iolist_to_binary(re:replace("b","(?1)(?:(b)){0}","yl&lrGgeOFdq",[global])), 
    <<"RVQfoo(bar(baz)+baz(bop))nWTFmuu">> = iolist_to_binary(re:replace("foo(bar(baz)+baz(bop))","(foo ( \\( ((?:(?> [^()]+ )|(?2))*) \\) ) )","RVQ&nWTFmuu",[extended])), 
    <<"RVQfoo(bar(baz)+baz(bop))nWTFmuu">> = iolist_to_binary(re:replace("foo(bar(baz)+baz(bop))","(foo ( \\( ((?:(?> [^()]+ )|(?2))*) \\) ) )","RVQ&nWTFmuu",[extended,
                                                                                                                                                                                                                                                                                                    global])), 
    <<"SsABnABjAABWrFxABNxTAB">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","Ss&n&jA&WrFx\\1NxT\\1",[extended])), 
    <<"SsABnABjAABWrFxABNxTAB">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","Ss&n&jA&WrFx\\1NxT\\1",[extended,
                                                                                                                                                                                                                                              global])), 
    ok.
run46() ->
    <<"oykaGJTnwyJ">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)","oyk\\1GJTnwyJ",[])), 
    <<"oykaGJTnwyJ">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)","oyk\\1GJTnwyJ",[global])), 
    <<"rP">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)++","r\\1P",[])), 
    <<"rP">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)++","r\\1P",[global])), 
    <<"mVYabaiTtvcE">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)++","mVY\\1&iTtvcE",[])), 
    <<"mVYabaiTtvcE">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)++","mVY\\1&iTtvcE",[global])), 
    <<"LbassxlIODjbanukQ">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc|d)","L&ssxlIODj&n\\1\\1ukQ",[])), 
    <<"LbassxlIODjbanukQ">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc|d)","L&ssxlIODj&n\\1\\1ukQ",[global])), 
    <<"aPbcQmbYueetle">> = iolist_to_binary(re:replace("beetle","(?:(b))++","aPbcQm&Yu",[])), 
    <<"aPbcQmbYueetle">> = iolist_to_binary(re:replace("beetle","(?:(b))++","aPbcQm&Yu",[global])), 
    <<"Gaqa">> = iolist_to_binary(re:replace("a","(?(?=(a(*ACCEPT)z))a)","G\\1q&",[])), 
    <<"GaqaGq">> = iolist_to_binary(re:replace("a","(?(?=(a(*ACCEPT)z))a)","G\\1q&",[global])), 
    <<"aaaabjQnJbiaaaabtUxBujcSC">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)+ab","&jQnJbi&tUxBujcSC",[])), 
    <<"aaaabjQnJbiaaaabtUxBujcSC">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)+ab","&jQnJbi&tUxBujcSC",[global])), 
    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)++ab","DNWp&\\1",[])), 
    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)++ab","DNWp&\\1",[global])), 
    <<"FbaUCbajUSvbabLskbVFDSRckgammon">> = iolist_to_binary(re:replace("backgammon","(?(DEFINE)(a))?b(?1)","F&UC&jUSv&bLskbVFDSR",[])), 
    <<"FbaUCbajUSvbabLskbVFDSRckgammon">> = iolist_to_binary(re:replace("backgammon","(?(DEFINE)(a))?b(?1)","F&UC&jUSv&bLskbVFDSR",[global])), 
    <<"x
def">> = iolist_to_binary(re:replace("abc
def","^\\N+","x",[])), 
    <<"x
def">> = iolist_to_binary(re:replace("abc
def","^\\N+","x",[global])), 
    <<"uvwVXabc
def">> = iolist_to_binary(re:replace("abc
def","^\\N{1,}","uv\\1wVX\\1&",[])), 
    <<"uvwVXabc
def">> = iolist_to_binary(re:replace("abc
def","^\\N{1,}","uv\\1wVX\\1&",[global])), 
    <<"aXqaaaabqcaaaabhUBcde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|(?R)b)","aXq&qc&hUB",[])), 
    <<"aXqaaaabqcaaaabhUBcde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|(?R)b)","aXq&qc&hUB",[global])), 
    <<"aaaabdaaaaBaaaabXbaaaaefaaaaOwsSNUSdKcde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|((?R))b)","&d\\1B&Xb\\1ef\\1OwsSNUSdK",[])), 
    <<"aaaabdaaaaBaaaabXbaaaaefaaaaOwsSNUSdKcde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|((?R))b)","&d\\1B&Xb\\1ef\\1OwsSNUSdK",[global])), 
    <<"YRaaaabaaaabaVaaaabaaaabjPdaaaabaaaabjaaaabmaaaabKMmcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R)a+|(?1)b))","YR&\\1aV\\1\\1jPd\\1\\1j&m&KMm",[])), 
    <<"YRaaaabaaaabaVaaaabaaaabjPdaaaabaaaabjaaaabmaaaabKMmcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R)a+|(?1)b))","YR&\\1aV\\1\\1jPd\\1\\1j&m&KMm",[global])), 
    <<"CKJwaLFaaaabMsaaaabaaaabaaaabLrcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R1)a+|(?1)b))","CKJwaLF&Ms&\\1\\1Lr",[])), 
    <<"CKJwaLFaaaabMsaaaabaaaabaaaabLrcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R1)a+|(?1)b))","CKJwaLF&Ms&\\1\\1Lr",[global])), 
    <<"eaMVQRJEeaaaVaBfXaaa">> = iolist_to_binary(re:replace("aaa","((?(R)a|(?1)))*","e\\1MVQRJEe&V\\1BfX&",[])), 
    <<"eaMVQRJEeaaaVaBfXaaaeMVQRJEeVBfX">> = iolist_to_binary(re:replace("aaa","((?(R)a|(?1)))*","e\\1MVQRJEe&V\\1BfX&",[global])), 
    <<"MakJwuACGqDMaaaaaUnx">> = iolist_to_binary(re:replace("aaa","((?(R)a|(?1)))+","M\\1kJwuACGqDM\\1&aUnx",[])), 
    <<"MakJwuACGqDMaaaaaUnx">> = iolist_to_binary(re:replace("aaa","((?(R)a|(?1)))+","M\\1kJwuACGqDM\\1&aUnx",[global])), 
    <<"h">> = iolist_to_binary(re:replace("a","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","h",[])), 
    <<"h">> = iolist_to_binary(re:replace("a","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","h",[global])), 
    <<"bRCaBnaanS">> = iolist_to_binary(re:replace("ba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","RC&Bn&\\1\\1&nS",[])), 
    <<"bRCaBnaanS">> = iolist_to_binary(re:replace("ba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","RC&Bn&\\1\\1&nS",[global])), 
    <<"bbaagaaxOODdgKqaOJ">> = iolist_to_binary(re:replace("bba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","a\\1&g&&xOODd\\1g\\1Kq&\\1OJ",[])), 
    <<"bbaagaaxOODdgKqaOJ">> = iolist_to_binary(re:replace("bba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","a\\1&g&&xOODd\\1g\\1Kq&\\1OJ",[global])), 
    ok.
run47() ->
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b) c","TsVxnH\\1",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b) c","TsVxnH\\1",[extended,
                                                                                                                                                                                                        global])), 
    <<"aknaabcabababsabaabcxIQjWA">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F)) c","akn&\\1\\1\\1s\\1&xIQjWA",[extended])), 
    <<"aknaabcabababsabaabcxIQjWA">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F)) c","akn&\\1\\1\\1s\\1&xIQjWA",[extended,
                                                                                                                                                                                                                                                     global])), 
    <<"F">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) | (*F) ) c","F",[extended])), 
    <<"F">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) | (*F) ) c","F",[extended,
                                                                                                                                                                                                             global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) ) c","bITLs\\1MJKk\\1\\1m",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) ) c","bITLs\\1MJKk\\1\\1m",[extended,
                                                                                                                                                                                                                                      global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b) c","u&IJDM\\1WAKII&G\\1hn",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b) c","u&IJDM\\1WAKII&G\\1hn",[extended,
                                                                                                                                                                                                                                       global])), 
    <<"KPwyWqtephaabccFNSg">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F)) c","KPwy\\1Wqteph&cFN\\1Sg\\1",[extended])), 
    <<"KPwyWqtephaabccFNSg">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F)) c","KPwy\\1Wqteph&cFN\\1Sg\\1",[extended,
                                                                                                                                                                                                                                                         global])), 
    <<"HHvvo">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) | (*F) ) c","HHvvo",[extended])), 
    <<"HHvvo">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) | (*F) ) c","HHvvo",[extended,
                                                                                                                                                                                                                             global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) ) c","QVIA\\1d",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) ) c","QVIA\\1d",[extended,
                                                                                                                                                                                                                      global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b) c","qjrOI&&nRtGbf",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b) c","qjrOI&&nRtGbf",[extended,
                                                                                                                                                                                                                     global])), 
    <<"w">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b|(*F)) c","w",[extended])), 
    <<"w">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b|(*F)) c","w",[extended,
                                                                                                                                                                                                     global])), 
    <<"keXPouTAhaabcXevPvyjQT">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) | (*F) ) c","keXPouTAh&XevPvyjQT",[extended])), 
    <<"keXPouTAhaabcXevPvyjQT">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) | (*F) ) c","keXPouTAh&XevPvyjQT",[extended,
                                                                                                                                                                                                                                                          global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) ) c","&Rj&sfrR",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) ) c","&Rj&sfrR",[extended,
                                                                                                                                                                                                                       global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b)++ c","\\1prYdoWF\\1MgrcQIUdFSO",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b)++ c","\\1prYdoWF\\1MgrcQIUdFSO",[extended,
                                                                                                                                                                                                                                           global])), 
    <<"MOaabcnbyBabtGHNao">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F))++ c","MO&nbyB\\1tGHNao",[extended])), 
    <<"MOaabcnbyBabtGHNao">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F))++ c","MO&nbyB\\1tGHNao",[extended,
                                                                                                                                                                                                                                     global])), 
    <<"yxJFsgWaabchb">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ | (*F) )++ c","yxJFsgW&hb",[extended])), 
    <<"yxJFsgWaabchb">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ | (*F) )++ c","yxJFsgW&hb",[extended,
                                                                                                                                                                                                                                        global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ )++ c","EmmhY&&",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ )++ c","EmmhY&&",[extended,
                                                                                                                                                                                                                     global])), 
    ok.
run48() ->
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b)++ c","RD",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b)++ c","RD",[extended,
                                                                                                                                                                                                 global])), 
    <<"HVPtJaabckhaabcTDNQFaabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F))++ c","HVPtJ&k\\1\\1h&TDNQ\\1F&",[extended])), 
    <<"HVPtJaabckhaabcTDNQFaabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F))++ c","HVPtJ&k\\1\\1h&TDNQ\\1F&",[extended,
                                                                                                                                                                                                                                                             global])), 
    <<"GYWUPwD">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ | (*F) )++ c","GYWUPwD",[extended])), 
    <<"GYWUPwD">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ | (*F) )++ c","GYWUPwD",[extended,
                                                                                                                                                                                                                                         global])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ )++ c","f\\1\\1Ek&r\\1\\1&",[extended])), 
    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ )++ c","f\\1\\1Ek&r\\1\\1&",[extended,
                                                                                                                                                                                                                                                       global])), 
    <<"taclqoaJUC">> = iolist_to_binary(re:replace("ac","^(?(?=a(*THEN)b)ab|ac)","t&lqoaJUC",[])), 
    <<"taclqoaJUC">> = iolist_to_binary(re:replace("ac","^(?(?=a(*THEN)b)ab|ac)","t&lqoaJUC",[global])), 
    <<"ba">> = iolist_to_binary(re:replace("ba","^.*?(?(?=a)a|b(*THEN)c)","Vh\\1CaWxBWkPj&",[])), 
    <<"ba">> = iolist_to_binary(re:replace("ba","^.*?(?(?=a)a|b(*THEN)c)","Vh\\1CaWxBWkPj&",[global])), 
    <<"keB">> = iolist_to_binary(re:replace("ba","^.*?(?:(?(?=a)a|b(*THEN)c)|d)","keB",[])), 
    <<"keB">> = iolist_to_binary(re:replace("ba","^.*?(?:(?(?=a)a|b(*THEN)c)|d)","keB",[global])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^.*?(?(?=a)a(*THEN)b|c)","&hGHyUT",[])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","^.*?(?(?=a)a(*THEN)b|c)","&hGHyUT",[global])), 
    <<"aalwRkdRudOgViabc">> = iolist_to_binary(re:replace("aabc","^.*(?=a(*THEN)b)","\\1\\1&al\\1\\1wRkdRudO\\1gVi",[])), 
    <<"aalwRkdRudOgViabc">> = iolist_to_binary(re:replace("aabc","^.*(?=a(*THEN)b)","\\1\\1&al\\1\\1wRkdRudO\\1gVi",[global])), 
    <<"xaBjvlyeNRakKKdd">> = iolist_to_binary(re:replace("xacd","(?<=a(*ACCEPT)b)c","Bj\\1vlyeNRa\\1kKKd",[])), 
    <<"xaBjvlyeNRakKKdd">> = iolist_to_binary(re:replace("xacd","(?<=a(*ACCEPT)b)c","Bj\\1vlyeNRa\\1kKKd",[global])), 
    <<"xahwEupkaeaicd">> = iolist_to_binary(re:replace("xacd","(?<=(a(*ACCEPT)b))c","hwEupk\\1e\\1i&",[])), 
    <<"xahwEupkaeaicd">> = iolist_to_binary(re:replace("xacd","(?<=(a(*ACCEPT)b))c","hwEupk\\1e\\1i&",[global])), 
    <<"xabTIskAGiopxbaboXHqhd">> = iolist_to_binary(re:replace("xabcd","(?<=(a(*COMMIT)b))c","TIskAGiopxb\\1oXHqh",[])), 
    <<"xabTIskAGiopxbaboXHqhd">> = iolist_to_binary(re:replace("xabcd","(?<=(a(*COMMIT)b))c","TIskAGiopxb\\1oXHqh",[global])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=(a(*COMMIT)b))c","&kSi\\1u\\1nbm",[])), 
    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=(a(*COMMIT)b))c","&kSi\\1u\\1nbm",[global])), 
    <<"xacd">> = iolist_to_binary(re:replace("xacd","(?<=(a(*COMMIT)b))c","W\\1\\1kCqBlt&Hi\\1YuyKE",[])), 
    <<"xacd">> = iolist_to_binary(re:replace("xacd","(?<=(a(*COMMIT)b))c","W\\1\\1kCqBlt&Hi\\1YuyKE",[global])), 
    <<"xlBhbKjcSd">> = iolist_to_binary(re:replace("xcd","(?<!a(*FAIL)b)c","l\\1\\1\\1Bhb\\1Kj&S",[])), 
    <<"xlBhbKjcSd">> = iolist_to_binary(re:replace("xcd","(?<!a(*FAIL)b)c","l\\1\\1\\1Bhb\\1Kj&S",[global])), 
    <<"aTnbXLTid">> = iolist_to_binary(re:replace("acd","(?<!a(*FAIL)b)c","Tn\\1bXLTi\\1",[])), 
    <<"aTnbXLTid">> = iolist_to_binary(re:replace("acd","(?<!a(*FAIL)b)c","Tn\\1bXLTi\\1",[global])), 
    <<"xabiSd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*PRUNE)b)c","i\\1\\1S",[])), 
    <<"xabiSd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*PRUNE)b)c","i\\1\\1S",[global])), 
    <<"xabPPMbccnlcFnbcFteud">> = iolist_to_binary(re:replace("xabcd","(?<=a(*SKIP)b)c","PPMb&&nl&FnbcFteu",[])), 
    <<"xabPPMbccnlcFnbcFteud">> = iolist_to_binary(re:replace("xabcd","(?<=a(*SKIP)b)c","PPMb&&nl&FnbcFteu",[global])), 
    <<"xabVUmuVjd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*THEN)b)c","V\\1UmuVj",[])), 
    <<"xabVUmuVjd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*THEN)b)c","V\\1UmuVj",[global])), 
    ok.
run49() ->
    <<"fQabcdabcdjOmbrqfabcdAbBVYaRO">> = iolist_to_binary(re:replace("abcd","(a)(?2){2}(.)","fQ&&jOmbrqf&AbBVY\\1RO",[])), 
    <<"fQabcdabcdjOmbrqfabcdAbBVYaRO">> = iolist_to_binary(re:replace("abcd","(a)(?2){2}(.)","fQ&&jOmbrqf&AbBVY\\1RO",[global])), 
    <<"hello world yxxigMcOStestrk">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1?)test","yxxigMcOS&rk",[])), 
    <<"hello world yxxigMcOStestrk">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1?)test","yxxigMcOS&rk",[global])), 
    <<"hello world test">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1+)test","dx\\1giHSx&BeV&E",[])), 
    <<"hello world test">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1+)test","dx\\1giHSx&BeV&E",[global])), 
    <<"DwfaacPJXaacSN">> = iolist_to_binary(re:replace("aac","(a(*COMMIT)b){0}a(?1)|aac","Dwf&PJX\\1\\1&SN",[])), 
    <<"DwfaacPJXaacSN">> = iolist_to_binary(re:replace("aac","(a(*COMMIT)b){0}a(?1)|aac","Dwf&PJX\\1\\1&SN",[global])), 
    <<"lQ">> = iolist_to_binary(re:replace("aac","((?:a?)*)*c","l\\1Q",[])), 
    <<"lQ">> = iolist_to_binary(re:replace("aac","((?:a?)*)*c","l\\1Q",[global])), 
    <<"mytQYMtByQalFhPaqAF">> = iolist_to_binary(re:replace("aac","((?>a?)*)*c","\\1mytQYMtByQalFhPaqAF",[])), 
    <<"mytQYMtByQalFhPaqAF">> = iolist_to_binary(re:replace("aac","((?>a?)*)*c","\\1mytQYMtByQalFhPaqAF",[global])), 
    <<"aJcbatLdoGHtuOHxJ">> = iolist_to_binary(re:replace("aba","(?>.*?a)(?<=ba)","Jc&tLdoGHt\\1uOHxJ",[])), 
    <<"aJcbatLdoGHtuOHxJ">> = iolist_to_binary(re:replace("aba","(?>.*?a)(?<=ba)","Jc&tLdoGHt\\1uOHxJ",[global])), 
    <<"jnJTr">> = iolist_to_binary(re:replace("aba","(?:.*?a)(?<=ba)","jnJTr",[])), 
    <<"jnJTr">> = iolist_to_binary(re:replace("aba","(?:.*?a)(?<=ba)","jnJTr",[global])), 
    <<"aSSoEg">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","SS\\1\\1oE\\1g",[])), 
    <<"aSSoEg">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","SS\\1\\1oE\\1g",[global])), 
    <<"aOdJuWtvQ">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","OdJuWtvQ",[dotall])), 
    <<"aOdJuWtvQ">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","OdJuWtvQ",[dotall,
                                                                                                                                                                                         global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^a(*PRUNE)b","u\\1oO\\1B\\1\\1",[dotall])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","^a(*PRUNE)b","u\\1oO\\1B\\1\\1",[dotall,
                                                                                                                                                                                                         global])), 
    <<"aUtmYVcabmqfPDm">> = iolist_to_binary(re:replace("aab",".*?a(*SKIP)b","\\1UtmYVc\\1&mq\\1fPDm",[])), 
    <<"aUtmYVcabmqfPDm">> = iolist_to_binary(re:replace("aab",".*?a(*SKIP)b","\\1UtmYVc\\1&mq\\1fPDm",[global])), 
    <<"amg">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","m\\1g",[dotall])), 
    <<"amg">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","m\\1g",[dotall,
                                                                                                                                                                            global])), 
    ok.
run50() ->
    <<"aPabRwBtwCmcabVfNbs">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","P&RwBtwCmc&VfNb\\1\\1s",[])), 
    <<"aPabRwBtwCmcabVfNbs">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","P&RwBtwCmc&VfNb\\1\\1s",[global])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(?>^a)b","a\\1a",[dotall])), 
    <<"aab">> = iolist_to_binary(re:replace("aab","(?>^a)b","a\\1a",[dotall,
                                                                                                                                                                        global])), 
    <<"alphabetabcdQVHlseDxWoyVop">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*?)(?<=(abcd)|(wxyz))","QVHlseDxWoyVop",[])), 
    <<"alphabetabcdQVHlseDxWoyVop">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*?)(?<=(abcd)|(wxyz))","QVHlseDxWoyVop",[global])), 
    <<"endingwxyzvOEVceUN">> = iolist_to_binary(re:replace("endingwxyz","(?>.*?)(?<=(abcd)|(wxyz))","vOE\\1VceUN&",[])), 
    <<"endingwxyzvOEVceUN">> = iolist_to_binary(re:replace("endingwxyz","(?>.*?)(?<=(abcd)|(wxyz))","vOE\\1VceUN&",[global])), 
    <<"VaQAuabcdDRalphabetabcdGQKSabcdMbhX">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd)|(wxyz))","VaQAu\\1DR&GQKS\\1MbhX",[])), 
    <<"VaQAuabcdDRalphabetabcdGQKSabcdMbhXVaQAuabcdDRGQKSabcdMbhX">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd)|(wxyz))","VaQAu\\1DR&GQKS\\1MbhX",[global])), 
    <<"Lendingwxyz">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd)|(wxyz))","L\\1&",[])), 
    <<"LendingwxyzL">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd)|(wxyz))","L\\1&",[global])), 
    <<"abcdfooxyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*)foo","O\\1",[])), 
    <<"abcdfooxyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*)foo","O\\1",[global])), 
    <<"abcdEDLXMxyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*?)foo","EDLXM",[])), 
    <<"abcdEDLXMxyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*?)foo","EDLXM",[global])), 
    <<"KacvfWficUMXYUhCR">> = iolist_to_binary(re:replace("ac","(?:(a(*PRUNE)b)){0}(?:(?1)|ac)","K&vfWficUMXYUhCR",[])), 
    <<"KacvfWficUMXYUhCR">> = iolist_to_binary(re:replace("ac","(?:(a(*PRUNE)b)){0}(?:(?1)|ac)","K&vfWficUMXYUhCR",[global])), 
    <<"lVNcLhkqs">> = iolist_to_binary(re:replace("ac","(?:(a(*SKIP)b)){0}(?:(?1)|ac)","lVNcLhkqs",[])), 
    <<"lVNcLhkqs">> = iolist_to_binary(re:replace("ac","(?:(a(*SKIP)b)){0}(?:(?1)|ac)","lVNcLhkqs",[global])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","(?<=(*SKIP)ac)a","WA\\1ysWU",[])), 
    <<"aa">> = iolist_to_binary(re:replace("aa","(?<=(*SKIP)ac)a","WA\\1ysWU",[global])), 
    <<"aaHvYt">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)b|a+c","Hv\\1Yt",[])), 
    <<"aaHvYt">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)b|a+c","Hv\\1Yt",[global])), 
    <<"aamkEaaaaclOsMTmDx">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*PRUNE)b|a+c","mkE&lOsM\\1TmDx",[])), 
    <<"aamkEaaaaclOsMTmDx">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*PRUNE)b|a+c","mkE&lOsM\\1TmDx",[global])), 
    <<"aarTnFhwuaaaacOCC">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP:N)(*PRUNE)b|a+c","rTn\\1Fhwu\\1&OCC",[])), 
    <<"aarTnFhwuaaaacOCC">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP:N)(*PRUNE)b|a+c","rTn\\1Fhwu\\1&OCC",[global])), 
    <<"aaWgwMatYijEPVVhET">> = iolist_to_binary(re:replace("aaaaaac","aaaa(*:N)a(*SKIP:N)(*PRUNE)b|a+c","WgwMatYijEPVVhET",[])), 
    <<"aaWgwMatYijEPVVhET">> = iolist_to_binary(re:replace("aaaaaac","aaaa(*:N)a(*SKIP:N)(*PRUNE)b|a+c","WgwMatYijEPVVhET",[global])), 
    <<"aaDFldiXfsqAoaaaacgyaaaacaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*PRUNE)b|a+c","DFl\\1diXfsqAo&gy&&",[])), 
    <<"aaDFldiXfsqAoaaaacgyaaaacaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*PRUNE)b|a+c","DFl\\1diXfsqAo&gy&&",[global])), 
    ok.
run51() ->
    <<"aaaaaacacLQGPDsBacWqi">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)b|a+c","&&LQG\\1\\1PDsB&W\\1qi",[])), 
    <<"aaaaaacacLQGPDsBacWqi">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)b|a+c","&&LQG\\1\\1PDsB&W\\1qi",[global])), 
    <<"aaaaaqFvS">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*SKIP)b|a+c","qFvS",[])), 
    <<"aaaaaqFvS">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*SKIP)b|a+c","qFvS",[global])), 
    <<"aaaaaxduXkuthyKkfDvdGK">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*SKIP)b|a+c","xduXkuthyK\\1kfDvdGK",[])), 
    <<"aaaaaxduXkuthyKkfDvdGK">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*SKIP)b|a+c","xduXkuthyK\\1kfDvdGK",[global])), 
    <<"aaaaaT">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*SKIP)b|a+c","T",[])), 
    <<"aaaaaT">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*SKIP)b|a+c","T",[global])), 
    <<"aaaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)b|a+c","tK\\1X\\1ycVaGLc\\1RU\\1&",[])), 
    <<"aaaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)b|a+c","tK\\1X\\1ycVaGLc\\1RU\\1&",[global])), 
    <<"iVaaaaaackkBjFkaaaaaacmlfslVAM">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)b|a+c","iV&kkBjFk&mlfslVAM",[])), 
    <<"iVaaaaaackkBjFkaaaaaacmlfslVAM">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)b|a+c","iV&kkBjFk&mlfslVAM",[global])), 
    <<"o">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*THEN)b|a+c","o",[])), 
    <<"o">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*THEN)b|a+c","o",[global])), 
    <<"wLxnFkaaaaaacAX">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*THEN)b|a+c","wLxnF\\1k&AX",[])), 
    <<"wLxnFkaaaaaacAX">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*THEN)b|a+c","wLxnF\\1k&AX",[global])), 
    <<"RkcioItaaaaaacT">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*THEN)b|a+c","Rk\\1cioI\\1t&T",[])), 
    <<"RkcioItaaaaaacT">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*THEN)b|a+c","Rk\\1cioI\\1t&T",[global])), 
    ok.
run52() ->
    <<"aaaaaWSYDaO">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*PRUNE:m)(*SKIP:m)m|a+","WSYDaO",[])), 
    <<"aaaaaWSYDaO">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*PRUNE:m)(*SKIP:m)m|a+","WSYDaO",[global])), 
    <<"aaaaaWAaddaTedlmqyrPY">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","WA\\1&dd\\1&TedlmqyrPY",[])), 
    <<"aaaaaWAaddaTedlmqyrPY">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","WA\\1&dd\\1&TedlmqyrPY",[global])), 
    <<"aaJwaaaataaaaaaaaJ">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*PRUNE:m)(*SKIP:m)m|a+","Jw&t&&J",[])), 
    <<"aaJwaaaataaaaaaaaJ">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*PRUNE:m)(*SKIP:m)m|a+","Jw&t&&J",[global])), 
    <<"aaaaawaeihCejEsBaGR">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","wae\\1ih\\1Ce\\1jEsBaG\\1R",[])), 
    <<"aaaaawaeihCejEsBaGR">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","wae\\1ih\\1Ce\\1jEsBaG\\1R",[global])), 
    <<"aavaacNX">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*PRUNE:A)a(*SKIP:A)b|a+c","v&\\1NX",[])), 
    <<"aavaacNX">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*PRUNE:A)a(*SKIP:A)b|a+c","v&\\1NX",[global])), 
    <<"aaapmNFtwlMXJwfQ">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*MARK:A)a(*SKIP:A)b|a+c","pmNFtwlMXJ\\1wfQ",[])), 
    <<"aaapmNFtwlMXJwfQ">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*MARK:A)a(*SKIP:A)b|a+c","pmNFtwlMXJ\\1wfQ",[global])), 
    <<"aaEaacnKG">> = iolist_to_binary(re:replace("aaaac","aaa(*PRUNE:A)a(*SKIP:A)b|a+c","E&nKG",[])), 
    <<"aaEaacnKG">> = iolist_to_binary(re:replace("aaaac","aaa(*PRUNE:A)a(*SKIP:A)b|a+c","E&nKG",[global])), 
    <<"aaaEmXmYyXMvMPacsIUnacb">> = iolist_to_binary(re:replace("aaaac","aaa(*MARK:A)a(*SKIP:A)b|a+c","E\\1mXmY\\1yXMvMP&sIUn&b",[])), 
    <<"aaaEmXmYyXMvMPacsIUnacb">> = iolist_to_binary(re:replace("aaaac","aaa(*MARK:A)a(*SKIP:A)b|a+c","E\\1mXmY\\1yXMvMP&sIUn&b",[global])), 
    <<"sctyVa">> = iolist_to_binary(re:replace("ba",".?(a|b(*THEN)c)","sctyV\\1",[])), 
    <<"sctyVa">> = iolist_to_binary(re:replace("ba",".?(a|b(*THEN)c)","sctyV\\1",[global])), 
    <<"abcEabcyEabLepBwabcDne">> = iolist_to_binary(re:replace("abc","(a(*COMMIT)b)c|abd","&E&yE\\1LepBw&Dne",[])), 
    <<"abcEabcyEabLepBwabcDne">> = iolist_to_binary(re:replace("abc","(a(*COMMIT)b)c|abd","&E&yE\\1LepBw&Dne",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","(a(*COMMIT)b)c|abd","EnmKFsm&",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","(a(*COMMIT)b)c|abd","EnmKFsm&",[global])), 
    <<"pXGcB">> = iolist_to_binary(re:replace("abc","(?=a(*COMMIT)b)abc|abd","pXGcB",[])), 
    <<"pXGcB">> = iolist_to_binary(re:replace("abc","(?=a(*COMMIT)b)abc|abd","pXGcB",[global])), 
    <<"yqRflvWfdabd">> = iolist_to_binary(re:replace("abd","(?=a(*COMMIT)b)abc|abd","yqR\\1flvW\\1fd&",[])), 
    <<"yqRflvWfdabd">> = iolist_to_binary(re:replace("abd","(?=a(*COMMIT)b)abc|abd","yqR\\1flvW\\1fd&",[global])), 
    <<"caqabcfAabcVd">> = iolist_to_binary(re:replace("abc","(?>a(*COMMIT)b)c|abd","caq&fA&Vd",[])), 
    <<"caqabcfAabcVd">> = iolist_to_binary(re:replace("abc","(?>a(*COMMIT)b)c|abd","caq&fA&Vd",[global])), 
    <<"BYnSX">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","BY\\1nSX",[])), 
    <<"BYnSX">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","BY\\1nSX",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a(?=b(*COMMIT)c)[^d]|abd","d\\1h\\1&",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","a(?=b(*COMMIT)c)[^d]|abd","d\\1h\\1&",[global])), 
    <<"rYJdMtasqc">> = iolist_to_binary(re:replace("abc","a(?=b(*COMMIT)c)[^d]|abd","rYJd\\1Mtasq\\1",[])), 
    <<"rYJdMtasqc">> = iolist_to_binary(re:replace("abc","a(?=b(*COMMIT)c)[^d]|abd","rYJd\\1Mtasq\\1",[global])), 
    <<"o">> = iolist_to_binary(re:replace("abd","a(?=bc).|abd","o\\1",[])), 
    <<"o">> = iolist_to_binary(re:replace("abd","a(?=bc).|abd","o\\1",[global])), 
    <<"WSUNxSjyjPQXxic">> = iolist_to_binary(re:replace("abc","a(?=bc).|abd","W\\1SUNxSjyjPQXxi",[])), 
    <<"WSUNxSjyjPQXxic">> = iolist_to_binary(re:replace("abc","a(?=bc).|abd","W\\1SUNxSjyjPQXxi",[global])), 
    <<"abceabd">> = iolist_to_binary(re:replace("abceabd","a(?>b(*COMMIT)c)d|abd","iF",[])), 
    <<"abceabd">> = iolist_to_binary(re:replace("abceabd","a(?>b(*COMMIT)c)d|abd","iF",[global])), 
    <<"abceoxabdvpqchabdcfPpHmTC">> = iolist_to_binary(re:replace("abceabd","a(?>bc)d|abd","ox&vpq\\1ch&cfPpHmTC",[])), 
    <<"abceoxabdvpqchabdcfPpHmTC">> = iolist_to_binary(re:replace("abceabd","a(?>bc)d|abd","ox&vpq\\1ch&cfPpHmTC",[global])), 
    <<"EPsAiuAXGag">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","EPsAiuAXGag",[])), 
    <<"EPsAiuAXGag">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","EPsAiuAXGag",[global])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)c)d|abd","iTR\\1KirHaAm\\1u&L",[])), 
    <<"abd">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)c)d|abd","iTR\\1KirHaAm\\1u&L",[global])), 
    <<"hopmrj">> = iolist_to_binary(re:replace("ac","((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))","hopm\\1\\1\\1rj",[])), 
    <<"hopmrj">> = iolist_to_binary(re:replace("ac","((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))","hopm\\1\\1\\1rj",[global])), 
    ok.
run53() ->
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","G&aHbV\\1y&\\1&KV\\1\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","G&aHbV\\1y&\\1&KV\\1\\1",[global])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a)?(?(1)a|b)+$","vJmS\\1lM\\1yq\\1F&T",[])), 
    <<"a">> = iolist_to_binary(re:replace("a","^(a)?(?(1)a|b)+$","vJmS\\1lM\\1yq\\1F&T",[global])), 
    <<"abROgE">> = iolist_to_binary(re:replace("ab","(?=a\\Kb)ab","&RO\\1gE",[])), 
    <<"abROgE">> = iolist_to_binary(re:replace("ab","(?=a\\Kb)ab","&RO\\1gE",[global])), 
    <<"AVraX">> = iolist_to_binary(re:replace("ac","(?!a\\Kb)ac","AVraX",[])), 
    <<"AVraX">> = iolist_to_binary(re:replace("ac","(?!a\\Kb)ac","AVraX",[global])), 
    <<"abrftocdgfVofMMeQcd">> = iolist_to_binary(re:replace("abcd","^abc(?<=b\\Kc)d","rfto&gfVofMM\\1eQ&",[])), 
    <<"abrftocdgfVofMMeQcd">> = iolist_to_binary(re:replace("abcd","^abc(?<=b\\Kc)d","rfto&gfVofMM\\1eQ&",[global])), 
    <<"NHQVjk">> = iolist_to_binary(re:replace("abcd","^abc(?<!b\\Kq)d","N\\1HQVjk",[])), 
    <<"NHQVjk">> = iolist_to_binary(re:replace("abcd","^abc(?<!b\\Kq)d","N\\1HQVjk",[global])), 
    <<"GLeLtFYabcdabcdgLpecJf">> = iolist_to_binary(re:replace("abcd","^((abc|abcx)(*THEN)y|abcd)","GLeLtFY\\1\\1gLpecJf",[])), 
    <<"GLeLtFYabcdabcdgLpecJf">> = iolist_to_binary(re:replace("abcd","^((abc|abcx)(*THEN)y|abcd)","GLeLtFY\\1\\1gLpecJf",[global])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((abc|abcx)(*THEN)y|abcd)","wcL\\1",[])), 
    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((abc|abcx)(*THEN)y|abcd)","wcL\\1",[global])), 
    <<"abcxy">> = iolist_to_binary(re:replace("abcxy","^((abc|abcx)(*THEN)y|abcd)","RUVUoonAhCsbWrFjwfb",[])), 
    <<"abcxy">> = iolist_to_binary(re:replace("abcxy","^((abc|abcx)(*THEN)y|abcd)","RUVUoonAhCsbWrFjwfb",[global])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","^((yes|no)(*THEN)(*F))?","&ymEfDG&",[])), 
    <<"yes">> = iolist_to_binary(re:replace("yes","^((yes|no)(*THEN)(*F))?","&ymEfDG&",[global])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|ac)ac|ac","VWaTi",[])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|ac)ac|ac","VWaTi",[global])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|(ac)) ac | (a)c","QYq&",[extended])), 
    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|(ac)) ac | (a)c","QYq&",[extended,
                                                                                                                                                                                                                  global])), 
    <<"CRAbnGGrAbnXLfMKFAn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*THEN)a)bn|bnn)","CRA&G\\1G\\1r\\1A&XLfMKFA",[])), 
    <<"CRAbnGGrAbnXLfMKFAn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*THEN)a)bn|bnn)","CRA&G\\1G\\1r\\1A&XLfMKFA",[global])), 
    <<"pn">> = iolist_to_binary(re:replace("bnn","(?!b(*SKIP)a)bn|bnn","p",[])), 
    <<"pn">> = iolist_to_binary(re:replace("bnn","(?!b(*SKIP)a)bn|bnn","p",[global])), 
    <<"avnuwGVQnbbnMn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*SKIP)a)bn|bnn)","avnuw\\1\\1GVQ\\1nb&M",[])), 
    <<"avnuwGVQnbbnMn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*SKIP)a)bn|bnn)","avnuw\\1\\1GVQ\\1nb&M",[global])), 
    <<"dbJHbnQmNvUjn">> = iolist_to_binary(re:replace("bnn","(?!b(*PRUNE)a)bn|bnn","dbJH&QmNvU\\1j",[])), 
    <<"dbJHbnQmNvUjn">> = iolist_to_binary(re:replace("bnn","(?!b(*PRUNE)a)bn|bnn","dbJH&QmNvU\\1j",[global])), 
    <<"CjOjn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*PRUNE)a)bn|bnn)","\\1CjOj",[])), 
    <<"CjOjn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*PRUNE)a)bn|bnn)","\\1CjOj",[global])), 
    <<"KpYyerFiCpuOn">> = iolist_to_binary(re:replace("bnn","(?!b(*COMMIT)a)bn|bnn","KpYyerF\\1iCpuO",[])), 
    <<"KpYyerFiCpuOn">> = iolist_to_binary(re:replace("bnn","(?!b(*COMMIT)a)bn|bnn","KpYyerF\\1iCpuO",[global])), 
    <<"YmcadBbnnCCREKHHXlMoHn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*COMMIT)a)bn|bnn)","YmcadB&nCCREKHHXlMoH",[])), 
    <<"YmcadBbnnCCREKHHXlMoHn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*COMMIT)a)bn|bnn)","YmcadB&nCCREKHHXlMoH",[global])), 
    <<"bnn">> = iolist_to_binary(re:replace("bnn","(?=b(*SKIP)a)bn|bnn","OvTfjYJC\\1XmGdYVUwWCW",[])), 
    <<"bnn">> = iolist_to_binary(re:replace("bnn","(?=b(*SKIP)a)bn|bnn","OvTfjYJC\\1XmGdYVUwWCW",[global])), 
    <<"FDbNbagbnngDbDDd">> = iolist_to_binary(re:replace("bnn","(?=b(*THEN)a)bn|bnn","FDbNbag&gDbDDd",[])), 
    <<"FDbNbagbnngDbDDd">> = iolist_to_binary(re:replace("bnn","(?=b(*THEN)a)bn|bnn","FDbNbag&gDbDDd",[global])), 
    ok.
run54() ->
    <<"sachjxkMNacCQoCXVcd">> = iolist_to_binary(re:replace("acd","(?!a(*SKIP)b)..","s&hjxkMN&CQoCXVc",[])), 
    <<"sachjxkMNacCQoCXVcd">> = iolist_to_binary(re:replace("acd","(?!a(*SKIP)b)..","s&hjxkMN&CQoCXVc",[global])), 
    <<"RdrPCVLRILnac">> = iolist_to_binary(re:replace("ac","^(?(?!a(*SKIP)b))","RdrPCVLR&ILn\\1",[])), 
    <<"RdrPCVLRILnac">> = iolist_to_binary(re:replace("ac","^(?(?!a(*SKIP)b))","RdrPCVLR&ILn\\1",[global])), 
    <<"bKbacacMacacHkactlacTd">> = iolist_to_binary(re:replace("acd","^(?!a(*PRUNE)b)..","bKb\\1&&M&&Hk&tl&T",[])), 
    <<"bKbacacMacacHkactlacTd">> = iolist_to_binary(re:replace("acd","^(?!a(*PRUNE)b)..","bKb\\1&&M&&Hk&tl&T",[global])), 
    <<"acgUOdBxWpud">> = iolist_to_binary(re:replace("acd","(?!a(*PRUNE)b)..","&gUO\\1dB\\1\\1x\\1\\1\\1Wpu",[])), 
    <<"acgUOdBxWpud">> = iolist_to_binary(re:replace("acd","(?!a(*PRUNE)b)..","&gUO\\1dB\\1\\1x\\1\\1\\1Wpu",[global])), 
    <<"CbaXhvafbabaFbadgban">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)","C&Xhvaf&\\1&\\1\\1F&dg&n",[])), 
    <<"CbaXhvafbabaFbadgban">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)","C&Xhvaf&\\1&\\1\\1F&dg&n",[global])), 
    <<"VCDF">> = iolist_to_binary(re:replace("CD","^(A(*THEN)B|C(*THEN)D)","V\\1F",[])), 
    <<"VCDF">> = iolist_to_binary(re:replace("CD","^(A(*THEN)B|C(*THEN)D)","V\\1F",[global])), 
    <<"TN1234">> = iolist_to_binary(re:replace("1234","^\\d*\\w{4}","\\1TN&\\1",[])), 
    <<"TN1234">> = iolist_to_binary(re:replace("1234","^\\d*\\w{4}","\\1TN&\\1",[global])), 
    <<"123">> = iolist_to_binary(re:replace("123","^\\d*\\w{4}","A\\1oHKKl\\1\\1OsT\\1Q",[])), 
    <<"123">> = iolist_to_binary(re:replace("123","^\\d*\\w{4}","A\\1oHKKl\\1\\1OsT\\1Q",[global])), 
    <<"nVISfRINBaChaaaaaaaaaaaaiab">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","nVISfRI\\1NBaC\\1h&&&iab",[])), 
    <<"nVISfRINBaChaaaaaaaaaaaaiab">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","nVISfRI\\1NBaC\\1h&&&iab",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","u&ip\\1ip\\1\\1yi&\\1b&V",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","u&ip\\1ip\\1\\1yi&\\1b&V",[global])), 
    <<"wAjTGXoySgBSd">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","wAjTGXoySgBSd",[caseless])), 
    <<"wAjTGXoySgBSd">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","wAjTGXoySgBSd",[caseless,
                                                                                                                                                                                                    global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","cHIJOeNBWAOX",[caseless])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","cHIJOeNBWAOX",[caseless,
                                                                                                                                                                                                global])), 
    <<"aaaawbaaaaaaaagaaaa">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","&wb&&g&",[])), 
    <<"aaaawbaaaaaaaagaaaa">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","&wb&&g&",[global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","XSEM&",[])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","XSEM&",[global])), 
    <<"QmAqwBScoVE">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","QmAqwBScoV\\1\\1E",[caseless])), 
    <<"QmAqwBScoVE">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","QmAqwBScoV\\1\\1E",[caseless,
                                                                                                                                                                                                        global])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","OMTiwdqw",[caseless])), 
    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","OMTiwdqw",[caseless,
                                                                                                                                                                                  global])), 
    <<"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",[])), 
    <<"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])), 
    <<"AZ">> = iolist_to_binary(re:replace("AZ","^A\\xZ","SV\\1ASuT\\1",[])), 
    <<"AZ">> = iolist_to_binary(re:replace("AZ","^A\\xZ","SV\\1ASuT\\1",[global])), 
    <<"eTO">> = iolist_to_binary(re:replace("ASB","^A\\o{123}B","eTO",[])), 
    <<"eTO">> = iolist_to_binary(re:replace("ASB","^A\\o{123}B","eTO",[global])), 
    <<"HAJaaaabw">> = iolist_to_binary(re:replace("aaaab"," ^ a + + b $ ","HAJ&w\\1",[extended])), 
    <<"HAJaaaabw">> = iolist_to_binary(re:replace("aaaab"," ^ a + + b $ ","HAJ&w\\1",[extended,
                                                                                                                                                                                                global])), 
    <<"EMvXhBG">> = iolist_to_binary(re:replace("aaaab"," ^ a + #comment
  + b $ ","EMvXhBG",[extended])), 
    <<"EMvXhBG">> = iolist_to_binary(re:replace("aaaab"," ^ a + #comment
  + b $ ","EMvXhBG",[extended,global])), 
    <<"rWaaaablOQEcegVcvQpr">> = iolist_to_binary(re:replace("aaaab"," ^ a + #comment
  #comment
  + b $ ","r\\1W&lOQEcegVcvQp\\1r",[extended])), 
    <<"rWaaaablOQEcegVcvQpr">> = iolist_to_binary(re:replace("aaaab"," ^ a + #comment
  #comment
  + b $ ","r\\1W&lOQEcegVcvQp\\1r",[extended,global])), 
    ok.
run55() ->
    <<"JABcaaaabT">> = iolist_to_binary(re:replace("aaaab"," ^ (?> a + ) b $ ","JABc&T",[extended])), 
    <<"JABcaaaabT">> = iolist_to_binary(re:replace("aaaab"," ^ (?> a + ) b $ ","JABc&T",[extended,
                                                                                                                                                                                                   global])), 
    <<"aaaanEIdwsaaaabaaaaYo">> = iolist_to_binary(re:replace("aaaab"," ^ ( a + ) + + \\w $ ","\\1nEIdws&\\1Yo",[extended])), 
    <<"aaaanEIdwsaaaabaaaaYo">> = iolist_to_binary(re:replace("aaaab"," ^ ( a + ) + + \\w $ ","\\1nEIdws&\\1Yo",[extended,
                                                                                                                                                                                                                                global])), 
    <<"acb">> = iolist_to_binary(re:replace("acb","(?:x|(?:(xx|yy)+|x|x|x|x|x)|a|a|a)bc","w&d",[])), 
    <<"acb">> = iolist_to_binary(re:replace("acb","(?:x|(?:(xx|yy)+|x|x|x|x|x)|a|a|a)bc","w&d",[global])), 
    <<"sprnh\"NOT MATCHED">> = iolist_to_binary(re:replace("NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED","\\A(?:[^\\\"]++|\\\"(?:[^\\\"]*+|\\\"\\\")*+\\\")++","sp\\1rnh",[])), 
    <<"sprnh\"NOT MATCHED">> = iolist_to_binary(re:replace("NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED","\\A(?:[^\\\"]++|\\\"(?:[^\\\"]*+|\\\"\\\")*+\\\")++","sp\\1rnh",[global])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"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",[])), 
    <<"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])), 
    <<"QwrEsgmHnPVatesUBtesNt test">> = iolist_to_binary(re:replace("test test","^\\w+(?>\\s*)(?<=\\w)","QwrEs\\1g\\1m\\1HnPVa&UB&N",[])), 
    <<"QwrEsgmHnPVatesUBtesNt test">> = iolist_to_binary(re:replace("test test","^\\w+(?>\\s*)(?<=\\w)","QwrEs\\1g\\1m\\1HnPVa&UB&N",[global])), 
    <<"QnwXYs">> = iolist_to_binary(re:replace("acl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","QnwXYs",[])), 
    <<"QnwXYs">> = iolist_to_binary(re:replace("acl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","QnwXYs",[global])), 
    <<"pJjRpVdTtnNitYwRL">> = iolist_to_binary(re:replace("bdl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","pJjRp\\1VdTtnNitYw\\1RL",[])), 
    <<"pJjRpVdTtnNitYwRL">> = iolist_to_binary(re:replace("bdl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","pJjRp\\1VdTtnNitYw\\1RL",[global])), 
    <<"atdlHdlPdlUHuXIoBk">> = iolist_to_binary(re:replace("adl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","t&H&P&UHuXIoBk",[])), 
    <<"atdlHdlPdlUHuXIoBk">> = iolist_to_binary(re:replace("adl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","t&H&P&UHuXIoBk",[global])), 
    <<"bcpmlSoBl">> = iolist_to_binary(re:replace("bcl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","pm&SoB&",[])), 
    <<"bcpmlSoBl">> = iolist_to_binary(re:replace("bcl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","pm&SoB&",[global])), 
    <<"vbIJabcy">> = iolist_to_binary(re:replace("abc","\\sabc","vbIJ&y",[])), 
    <<"vbIJabcy">> = iolist_to_binary(re:replace("abc","\\sabc","vbIJ&y",[global])), 
    <<"wY">> = iolist_to_binary(re:replace("aa]]","[\\Qa]\\E]+","wY",[])), 
    <<"wY">> = iolist_to_binary(re:replace("aa]]","[\\Qa]\\E]+","wY",[global])), 
    <<"y">> = iolist_to_binary(re:replace("aa]]","[\\Q]a\\E]+","y",[])), 
    <<"y">> = iolist_to_binary(re:replace("aa]]","[\\Q]a\\E]+","y",[global])), 
    <<"iaARIM1234abcd">> = iolist_to_binary(re:replace("1234abcd","(?:((abcd))|(((?:(?:(?:(?:abc|(?:abcdef))))b)abcdefghi)abc)|((*ACCEPT)))","iaARIM",[])), 
    <<"iaARIM1iaARIM2iaARIM3iaARIM4iaARIMiaARIM">> = iolist_to_binary(re:replace("1234abcd","(?:((abcd))|(((?:(?:(?:(?:abc|(?:abcdef))))b)abcdefghi)abc)|((*ACCEPT)))","iaARIM",[global])), 
    ok.
run56() ->
    <<"bGBRdcc">> = iolist_to_binary(re:replace("baaaaaaaaac","(?1)(?#?'){8}(a)","GBRdc",[])), 
    <<"bGBRdcc">> = iolist_to_binary(re:replace("baaaaaaaaac","(?1)(?#?'){8}(a)","GBRdc",[global])), 
    <<"PqUuuXKRgsccvHSabcd">> = iolist_to_binary(re:replace("abcd","(?|(\\k'Pm')|(?'Pm'))","PqUuuXKRgsc&\\1cvHS\\1",[])), 
    <<"PqUuuXKRgsccvHSaPqUuuXKRgsccvHSbPqUuuXKRgsccvHScPqUuuXKRgsccvHSdPqUuuXKRgsccvHS">> = iolist_to_binary(re:replace("abcd","(?|(\\k'Pm')|(?'Pm'))","PqUuuXKRgsc&\\1cvHS\\1",[global])), 
    <<"  MumdPEeFred:099">> = iolist_to_binary(re:replace("  Fred:099","(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[,;:])(?=.{8,16})(?!.*[\\s])","\\1&M&umdPE&e",[])), 
    <<"  MumdPEeFred:099">> = iolist_to_binary(re:replace("  Fred:099","(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[,;:])(?=.{8,16})(?!.*[\\s])","\\1&M&umdPE&e",[global])), 
    <<"  ugxGKrBXEcHyG">> = iolist_to_binary(re:replace("  X","(?=.*X)X$","ugxGKrB&EcHyG",[])), 
    <<"  ugxGKrBXEcHyG">> = iolist_to_binary(re:replace("  X","(?=.*X)X$","ugxGKrB&EcHyG",[global])), 
    ok.